Android Studio学习一得——Android用户界面的设计布局

这篇具有很好参考价值的文章主要介绍了Android Studio学习一得——Android用户界面的设计布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易。其实和设计可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件。


一、Android用户界面布局管理


Android系统按照MVC(模型(model) - 视图(view) - 控制器(controller))设计模式将应用程序的界面设计与功能控制设计分离,类似于前后端分离,可以单独修改用户界面和后面的控制代码,而在AS中,前端的界面布局文件是在生成的应用程序框架项目的res资源目录的layout子目录中,文件名为activity_main.xm(创建新项目时可以改名字),可以用界面化的和XML文件共同管理。如果要调用资源文件,就使用R.iava的R类,把res目录中的资源与id编号进行映射,用id号进行资源管理。

1.布局文件的规范


(1)布局文件作为项目的资源存放在res\layout目录下,是一个xml文件默认文件名为activity_main.xml.
(2)布局文件的根节点通常是一个布局方式,在根节点内可以添加组件作为结点。
(3)布局文件的根节点必须包含一个命名空间,为了与其他项目进行分离
如下: 

xmlns:android="http://schemas.android.com/apk/res/android"

(4)如果要实现java程序中控制界面的组件,则必须为界面文件的组件定义个id,也就是通过id把资源文件以及组件引用过来进行控制。
组件定义格式如下:

android:id="@+id/<组件id>"

2.布局文件常用的重要属性值

(1)设置组件大小的属性值


wrap_contont: 强制性地使视图扩展以显示全部内容完整显示其内部的文本和图像,根据组件内容的大小来决定组件的大小。
match_parent: Android2.2以上和fill_parent通用,填充在容器的所有空间。
fill_parent: 强制性地使构件扩展,以填充布局单元内尽可能多的空间就是强制性让它布满整个屏幕。

(2)设置组件大小的单位


px(pixels): 像素,即屏幕上的发光点
dp(或dip,全称为device independent pixels): 设备独立像素一种支持多分辨率设备的抽象单位,和硬件相关
sp(scaled pixels): 比例像素,设置字体大小。

(3)设置组件的对产方式


在组件中由"android:gravity”属性控制组件的对齐方式,其属性有上(top) ,下(bottom) ,左 (left) ,右 (right) ,水平方向居中(center_horizontal).垂直方向居中(center_vertical)等。

3.常见的布局


有关用户界面的布局有下面常见的七种布局
线性布局(LinearLayout) ,帧布局(FrameLayout) ,表格布局(TableLayout),                                  相对布局 (RelativeLayout) ,绝对布局(AbsolateLayout)约束布,网格布局 (GridLayout) ,          约束布局(ConstraintLayout)。                                                                                                         而相对布局已使用约束布局替代,绝对布局难以实现多分辨率适配,不建议使用。

(1)线性布局(LinearLayout)


特点: 将组件按照水平或垂直方向排列。
特殊属性: 由”android:orientation”属性控制排列方式,其属性值有水平(horizontal)和垂直(vertical)两种
实例: 按水平和垂直方向线性布局显示几个按钮

android 界面设计,android,android studio,学习

 水平结果:

android 界面设计,android,android studio,学习

垂直结果: 

android 界面设计,android,android studio,学习

(2)帧布局(FrameLayout)

特点:将组件放置在左上角位置,当添加多个组件时后面的组件将遮盖前面的组件。                      帧布局会按照添加顺序层叠在一起,默认层叠在左上角位置。                                                       特殊属性: 用"layout_gravity”可以设置层叠的位置。
实例: 将不同大小的图片进行层,这里引用图片的方法可以在用户界面,也可以在源程序控制文件中。 

android 界面设计,android,android studio,学习

android 界面设计,android,android studio,学习

(3)表格布局(TableLayout)


特点: 将页面分为由行,列构成的单元格。
特殊属性: 表格的列数由android:shrinkColumns定义,例如android:shrikColumns ="0,1,2"表示表格为三列,编号为1,2,3.
android:collapseColumns:设置需要被隐藏的列的序号
 android:shrinkColumns:设置允许被收缩的列的列序号
 android:stretchColumns:设警运行被拉伸的列的列席号
实例: 实现类似手机待机界面的六行四列的表格
首先,将所要显示的图片添加到res资源目录文件drawable-hdpi下,具体过程如下选择Project视图,app->5c->re5->右捷new resource directory->选择resource type (drawable) ->density,很据需要,选择适的分率,这里选择hicgh densitv确认后会生成一个资源文件夹drawable-hdpi->将图片文件复制到文件夹里 

android 界面设计,android,android studio,学习

android 界面设计,android,android studio,学习

android 界面设计,android,android studio,学习

(4)相对布局(RelativeLayout)

 
特点:相对其他组件位置进行布局,通过相对定位的方式让控件出现在布局任意位置,在相对布局中,通过指定关联其他组件与之左右对齐,上下对齐或以屏幕中央方式来排列组件


特殊常见属性:
相对于父元素给控件布局(属性值为true或false)
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:lavout_centerlnparent 相对于父元素完全居中
android:layout_alignParentBottom 位于父元素的下边缘
android:layout_alignParentLeft 位于父元素的左边缘
android:layout_alignParentRight 位于父元素的右边缘
android:layout_alignParentTop 位于父元素的上边缘
android:layout_alignWithParentlfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物


属性值必须为id的引用名“@id/id-name”

android:layout_below位于元素的下方
android:layout_above位于元素的的上方
android:layout_toLeftof位于元素的左边
android:layout_toRightof 位于元奏的右边
android:lavout_alignTop 该元素的上边缘和某元素的的上边缘对齐                            android:layout_alignLeft 该元素的左边缘和某元素的的左边缘对齐                                                   
android:lavout alignBottom 该元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 该元素的右边缘和某元素的的右边缘对齐
给属性赋予像素值
android:layout_marginBottom 底边缘的距离
android:layout_marginLeft 左边缘的距离
android:layout_marginRight 右边缘的距离
android:layout_marginTop 上边缘的距离
实例:生成一个组件排列的应用程序。

代码:

android 界面设计,android,android studio,学习

结果:

android 界面设计,android,android studio,学习

android 界面设计,android,android studio,学习

android 界面设计,android,android studio,学习文章来源地址https://www.toymoban.com/news/detail-706026.html

到了这里,关于Android Studio学习一得——Android用户界面的设计布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Android 实现用户登陆界面

    Android 实现用户登陆界面

    Button是TextView的一个子类,EditView同样也是TextView的子类 其中,EditView是一个可输入内容的组件 参考属性文档 :包含EditText控件的常用属性 常用基本属性介绍: 属性 含义 textAllCaps 设置字体大小写,android:textAllCaps=\\\"false\\\"表示字体显示和输入的内容一致 hint 设置文本框初始显示

    2024年02月07日
    浏览(11)
  • 用户界面设计和评估:如何设计具有吸引力、易用性和可靠性的用户界面?

    作者:禅与计算机程序设计艺术 用户界面(User Interface)是一个给用户提供服务或者产品的系统界面,通过人机交互、信息呈现、文字表达、图形符号等表现形式进行沟通,帮助用户更好的使用产品或服务。它对于提升企业的品牌影响力、增加客户黏性、改善用户体验、降低

    2024年02月13日
    浏览(13)
  • Android快速入门-----用户界面(上)UI组件(1)

    Android快速入门-----用户界面(上)UI组件(1)

    @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ // 提示 Toast.makeText(SimpleComponActivity.this, cd_simple_pingpang.getText().toString(), 0).show(); } } }); cd_simple_foot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton but

    2024年04月17日
    浏览(12)
  • 设计图形用户界面的原则

    1) 一般性原则:界面要具有一致性、常用操作要有快捷方式、 提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可 逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息 显示方式与数据输入方式的协调一致 2) 颜色的使用:颜色是一种有效的强化

    2024年02月08日
    浏览(12)
  • 前端用户体验设计:创造卓越的用户界面和交互

    前端用户体验设计:创造卓越的用户界面和交互

    💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 用户体验(User Experience,UX)是前端开发中至关重要的一环。一个优秀的用户体验

    2024年02月04日
    浏览(12)
  • 用户界面设计和交互设计中的用户体验个性化(AI)

    作者:禅与计算机程序设计艺术 随着互联网、移动互联网、物联网等新型信息技术的广泛应用,传统的静态网站在面对动态变化的需求时显得力不从心。因此,动态网站应运而生。动态网站能够更好地满足用户的需要,用户可以快速找到自己想要的信息、做出决策或进行交易

    2024年02月09日
    浏览(10)
  • Android快速入门-----用户界面(上)UI组件(1),附面试答案

    Android快速入门-----用户界面(上)UI组件(1),附面试答案

    @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ // 提示 Toast.makeText(SimpleComponActivity.this, cd_simple_pingpang.getText().toString(), 0).show(); } } }); cd_simple_foot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton but

    2024年04月25日
    浏览(11)
  • MATLAB 之 可视化图形用户界面设计

    MATLAB 之 可视化图形用户界面设计

    MATLAB 提供了图形用户界面开发环境(Graphical User Interface Development Environment,GUIDE),在这种开发环境下,用户界面设计变得方便、直观,实现了 “所见即所得” 的可视化设计。 1.1 图形用户界面设计模板 在 MATLAB 命令行窗口输入 guide 命令,或在 MATLAB 主窗口中选择 “主页”

    2024年02月11日
    浏览(10)
  • Qt用户图形界面设计应用(闹钟)

    Qt用户图形界面设计应用(闹钟)

    什么是Qt Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品,并于 2008年6月17日被NOKIA公司收购,以增强NOKIA公司在跨平 台软件研发方面的实力,更名为Qt Software。 Qt的优点 基本上, Qt 同 X Window 上的 Motif, Openwin, GTK 等图形界 面库 和 Windows 平台上的

    2024年02月08日
    浏览(11)
  • 燕山大学——软件用户界面设计(五)UI架构

    燕山大学——软件用户界面设计(五)UI架构

                 界面设计中的“设计”与“实现”,本节的UI架构属于“实现”部分。 (1)视图树( View tree ) ①定义:GUI结构是一个视图树。视图是一个对象,显示在屏幕的某个区域,可以是一个控件或者其他元素。 ②视图树的使用:         输出:GUI通过改变视图树

    2024年02月05日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包