-
-
[原创]Android布局与控件
-
发表于: 2020-9-5 11:51 5790
-
昨天给大家分享了如何开发一个Android程序
今天给大家分享Android布局与控件
有人形象地比喻,Android开发中的布局就相当于一栋建筑的外观架构。布局用得好,这栋建筑的外观才美观高大上。
1.Android布局管理器:
Android布局管理器是一个界面控件,所有的布局管理器都是ViewGroup类的子类,都是可以当做容器类来使用的。因此一个布局管理器中可以嵌套其他的布局管理器,布局管理器的层级关系,如下所示。
每一个ViewGroup都可以嵌套其他的ViewGroup和View(视图)。一个ViewGroup的大小是相对的,它即可以是其他ViewGroup的父容器,也可以是其他ViewGroup的子容器。
在Android中,ViewGroup指代的是布局管理器,也就是布局样式,View指代的是布局管理器中的一个控件。在Android中,控件可以在XML文件中定义,程序员也可以根据自己的需要去定义一个类。
2.Android六大基本布局管理器:
线性布局(LinearLayout)
表格布局(TableLayout)
网格布局(GridLayout)
相对布局(RelativeLayout)
绝对布局(AbsoluteLayout)
层布局(FrameLayout)
线性布局能够将容器内的所有控件一个挨着一个地排列。
1.排列方向
android:orienation = “ horizontal/vertical”水平排列和垂直排列,Android中默认为垂直排列。
注意:默认情况下,水平和垂直方向的排列只占一行,当用android:layout_width来设定控件的宽度,如果控件宽度太大,超出屏幕的显示范围,屏幕是不会显示超出的范围的。
2.对齐方式
用于控制元素(例如文字)在该控件里的显示位置。
属性值:
可选的值有,top、bottom、left、rightcenter_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical也可以同时使用两个属性值,中间用 | 竖线隔开。
例如:android:gravity = “buttom|center_horizontal”如果定义在控件中的底部,垂直居中,用LinearLayout线性布局来实现常用的计算器,如图所示。
前面四行都很容易理解,用一个Linearout来包裹4个button控件,并且设定排列方向为水平方向。这里只列出其中一行的布局代码,其他三行的代码与第一行几乎相同,如图所示。
最关键的是下面两行,即图2.1用绿色框住的那一部分控件如何布局。这里使用布局控制器内部嵌套布局控制器的方法。首先将大框内部的控件分成三个层级。
第一个层级是绿色框,包含两个两列,即两个红色框。第二个层级是红色框,每个小框看成一个整体的列,第一个列是左边的红色框,其内部包含两个行;第二个列是右边的红色框,即“=”号,包含一个垂直布局的列,占位两行。再对左边的红色框进行第三层级的拆分。可以拆分成两行蓝色框,每一行占3个位。如下表对应的颜色框。
如下所示的代码:
控件是用来展示一个界面的,Android中提供了大量的UI控件,通过这些控件的组合就能够编写出一个我们想要的界面。比如:按钮、进度条、对话框、编辑栏、显示栏这些都是组件。
1.TextView:用于显示文本信息,如图所示。
id是给予这个控件一个标识符,是唯一的,每个控件都具有width和height两种属性,而属性值一般又包括match_parent、fill_parent以及wrap_content,前两者的意义相同,但是现在官方更加推荐match_parent,表示的是让当前控件和父布局的大小一样,即是让父布局来决定当前控件的大小。而wrap_content表示的是当前控件的大小能够刚好包含住里面的内容,也就是让当前控件自己决定当前控件的大小。
2.Button:按钮,如图所示。
按钮如果输入英文,英文会自动转化为大写字母,原因是这个控件中的textAllCaps的属性默认为true,所以当我们想要按照自己输入的英文大小写就将这一属性的值改为false。同时,可以设置背景,让按钮键更加美观。使用按钮这个控件,通常都会涉及点击事件,即通过点击按钮进行其他的操作。
设置监听器的方式有两种,匿名内部类和使用接口的方式,如图2.5所示,为匿名内部类方法来设置的监听器。
3.EditText:编辑文本
控件的主要作用是进行编辑文本的,这个控件的主要属性是maxLines和hint,maxLines是设置最多行数的,输入超过指定行数后,需要通过滚动方法查看内容,而hint属性是设置提示性文字的。同时,对于该控件的下划线颜色和光标颜色也是可以自己设置的,这里只提及一种方法。
全局下划线颜色,在Manifests中的AppTheme中修改,其中colorAccent对应的即是选中EditText时下划线的颜色,若将其修改为自己想要的颜色,则EditText控件中的颜色均变成设置后的颜色。
4.AlertDialog:对话框
一般对话框会在点击某按钮之后弹出,所以通常是在按钮的点击事件中进行设置,如图所示。
这次主要分享了两个重点的内容,Android的6种布局管理器和常用控件。其中着重讲解了线性布局管理器,以及TextView、EditText、Button三种控件作用。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
- [转帖]无需脱壳抓取软件加密包方法(逆向破解) 10704
- [分享]Android逆向——RSA加密算法 4110
- [原创]普通协议(HTTP)与安全协议(HTTPS) 3996
- [转帖]Android App加固原理与技术历程 4183
- [分享]实战分析人X的HTTP协议 5281