在Android中常见的组件有TextView(文本视图组件)、EditText(文本编辑)、Button(按钮)、ImageView(图像视图组件)等等。
TextView是Android中最简单的一个控件,在新建Android项目的过程中HelloWorld的文本信息也就是由它显示。TextView是大部分常见组件对象的父类,通过自定义TextView也可以完成绝大多数UI控件的效果。关于TextView控件在XML布局中常用属性有:
android:layout_width:设置组件的宽度
android:layout_height:设置组件的高度
(控件中的尺寸以dp为单位度量,除此外有match_parent、fill_parent、wrap_content 可以提供给属性直接使用)
android:id:设置组件的ID,也即是定义当前组件的唯一标识
android:text:设置组件的文本内容
android:textSise:设置组件的文本内容字体大小(字体大小以sp为单位)
android:gravity :设置组件内容在组件中的位置
android:background:设置组件的背景内容
(组件的背景内容主要以图片或纯色作为底图)
除了以上列出来的属性外TextView尚有其他属性可以在Android API文档中可以查阅到。
Buttton控件是程序与用户交互的一个重要控件,而它的属性和TextView是差不多的。 在AndroidStudio中,Button实际在设置文字内容时,很多人会发现与TextView不同。例如在“android:text”中写入“Button”但最终显示出BUTTON,这是由于系统会对Button中的所有英文字母自动进行大写转化。想要禁用该行为,需要加上“android:textAllCaps=false”
Button除了其自身携带的点击效果外,我们通常也会给它加上监听,使它具有监听事件的能力。
EditText控件式程序用于和用户进行交互的另一个重要的控件,它允许用户在控件里输入和编辑内容,并允许在程序中对这些内容加以处理。EditText应用非常普遍,发短信、发微信、发微博等等,是不得不使用EditText的。
于此同时在实际开发中,EditText也附带了一些比较有意思的属性,例如:
android:hint : 指定一段提示性的文本,然后当我们输入任何内容时,这段文本就会自动消失。
android:maxLines:随着输入内容不断增多,EditText会显示区域不够,影响界面的美观,因此使用该属性可以超出的内容部分使用滚动的方式显示。
通过TextView、Button、EditText 我们可以编写一个通过点击按钮,使TextView显示EditText编辑内容的案例。
ImageView 是用于在界面上展示图片的一个控件,它使得我们的界面变得丰富多彩。学习该控件也需要在drawable文件下部署一些图片,AndroidStudio在Android目录下仅有一个darwable文件,但当你切换到Project的时候,会在res下找到drawable包含的不同清晰度的文件夹。ImageView设置图片内容不需要使用android:background属性 ,它本身的 android:src属性可以为它设置控件的图像内容。一般我们在不知道图片长宽的情况下宽高属性最好用wrap_content
通过ImageView,和上述的其他组件我们可以仿制手机淘宝的登陆界面,灵活使用布局以及控件。(android ui 组件)
接下来分享一些新版本下的Android控件:
Android 5.0 版本 : CardView 卡片视图 (布局中的内容)
RecyclerView 循环视图 (列表)
Toolbar 工具栏 (ActionBar的进化)
RippleDrawable 波纹图 (Android特效动画)
Android 6.0 版本 :FloatingActionButton
Snackbar
TextInputLayout
TabLayout
这些控件在新的Android开发中有举足轻重的地位,也省去了开发者在长时间的自定义控件中所花费的时间。