Android从入门到放弃——常见控件TextView、Button、ImageView的使用
关于常用的控件这里分几个部分来讲解吧,今天要讲的这3个是平时应该使用最多的。
TextView
最基础的控件,用于直接显示文本。在xml中直接声明就好了:
<TextView
android:text="@string/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
下面将一些基本的属性设置
属性名称 |
作用 |
text |
设置要显示的文本内容 |
textSize |
设置文字大小(单位dp/sp) |
textColor |
文字颜色(可设置颜色和color资源) |
gravity |
设置文本对齐方式 |
visibility |
设置是否显示 |
autoLink |
自动链接文本中的内容 |
background |
背景 可设置资源ID |
drawablexxx |
在指定方向显示drawable |
drawablePadding |
设置显示的drawable距离文本的距离 |
ellipsize |
设置文本内存超过宽度的处理方式 |
上面的都是一些基本的数据,部分数据有固定取值,下面单独展开来看看其取值
gravity 对齐方式 |
|
bottom |
底部 |
center |
居中 |
center_horizontal |
水平居中 |
center_vertical |
垂直居中 |
end |
结束位置 |
fill |
必要的时候增加对象的横纵向大小,以完全充满其容器。 |
fill_horizontal |
必要的时候增加对象的横向大小,以完全充满其容器。水平方向填充。 |
fill_vertical |
必要的时候增加对象的纵向大小,以完全充满其容器。垂直方向填充。 |
left |
左对齐 |
right |
右对齐 |
start |
开始位置 |
top |
顶部对齐 |
注:这些属性是可以使用 | 叠加的 |
visibility显示样式 |
|
gone |
不显示,并且不占大小,只是声明一个控件。 |
invisibility |
不显示,但是占据位置,会分配大小。 |
visibility |
显示 |
autoLink自动识别文本中的内容 |
|
all |
识别所有类型 |
|
识别邮箱地址 |
map |
识别地理位置 |
phone |
识别电话号码 |
web |
识别WebURL |
none |
不识别(默认) |
下面我们通过代码来看看实际效果
<TextView
android:layout_width="300dp"
android:layout_height="300dp"
android:autoLink="all"
android:gravity="center"
android:background="@android:color/holo_red_dark"
android:text="@string/autoLinkTest"
android:textColor="#FF0"
android:textSize="30sp"/>
我们设置了对齐方式、字体大小、自动识别。可以看到文字的颜色显示了2种,一种是我们设置的黄色,一种是青色,这是因为启动了自动识别,识别到后会自动把识别到的文本设置不同的颜色,这个颜色的定义是在color.xml中定义的
识别到的内容是由点击事件的,我们点击邮箱地址会默认打开系统的邮箱,点击网址会打开浏览器并且跳转到对于的网址中。
我们修改一下代码看看设置drawable属性
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center"
android:text="测试Drawable属性"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" />
它可以在顶部添加一个图片,很多时候我们看到APP下方的导航栏都是这种设计,就不需要设置一个ImageView+TextView了。
TextView的属性还有很多,大家可以都试试看。
Button
在看xml的布局之前我们看先看看Button这个类。
我们可以看到Button是直接继承至TextView的,看到这里可能很多朋友就会想到,Button是不是直接给TextView设置了一个按钮样式的背景呢?
简单来说就是这样的,我们在布局文件里面添加的控件,在apk启动activity的时候会把对于的xml文件加载并且解析出每个控件,生产对象,Button就是设置了一个特殊属性的TextView。所以他们的用法基本上是一样的。
我们完全可以自己定义一个按钮样式的背景设置到TextView上,唯一的却是Button默认是有按下的样式的,如果我们定义的按钮背景设置在TextView上,在没有设置onClickListener之前按下是不会显示按下的样式的。Button不用设置点击事件也能看到点击样式。不过这个问题我们可以使用android:clickable="true"属性来解决,这样的效果就和Button一样了。
ImageView
用于显示图片的控件,支持png,jpg格式的图片,支持drawable。
设置图片使用android:src来指定图片资源。
到这里这3个控件的基本用法就差不多讲完了,其实最主要的就是TextView的一些属性,大家可以多试试。
上一篇: 字符串操作