android开发重要控件,Android界面编程——Android基本控件

Android界面编程

Android应用开发的一项重要内容就是界面开发。对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户。

作为一个程序员如何才能开发出友好的图形界面呢。实际上Android提供了非常丰富UI(User Interface)控件,开发者只要掌握了这些控件的特性,按照一定的规律,就可以像堆积木一样开发出友好的图形界面。

本章内容将介绍常用控件的具体用法。

2.1  Android UI的基础知识

Android中所有的可视化组件都是继承自View类,通常把它们称之为视图。视图也经常被称为控件或者小组件。ViewGroup类继承自View类,是对View类的扩展,它用来包含、管理多个视图。用户界面(User Interface UI)就是由一个个具体的View和ViewGroup构成的一颗视图树。图2-1显示的是构成界面的视图树。

f086d91b892d4adbace07a3c95fa2687.jpg

2.2Android基本控件

TextView直接继承自View类,是一个只读文本标签,支持多行显示,字符串格式化以及自动换行等特性。通过XML属性和TextView类的相关方法可以设置TextView的显示特性。

下面通过实例讲解TextView具体的使用方法。

首先说明一下如何使用Android Studio创建layout文件。

选择res/layout,右击鼠标选择new--->XML—>Layout XML File,如图所示:

8f9dbddba7cf48c6bc0a98cbf5670d1b.jpg

在弹出的对话框中,进行如图所示的操作,完成XML文件的创建。

bb33c41bb4fd481abe4a1fa0206e669b.jpg

实例2-1:

通过在布局文件中设置TextView的属性来控制TextView的显示行为,具体实现如下。

d0329dad7cfb42d494f571d4a9ef1ab3.jpg

b433f3869dd54cfe89a57d0886873661.jpg

bf7c7a62c7ed49eaa7f92bbcaba64a8c.jpg

表2-1列出了TextView常用的属性和方法。

表2-1 TextView XML属性和方法

XML属性对应方法备注

android:textsetText(CharSquence)

setText(int resId)设置文本框显示的文本内容

android:textColorsetTextColor(ColorStateList)设置文本框显示文本的颜色

android:textSizesetTextSize(float)设置文本框显示文本的字号

android:textStylesetTypeface(Typeface)设置文本框显示文本的字体风格

android:textAppearance设置文本框显示文本的颜色、字体、大小等样式

android:ellipsizesetEllipsize(TextUitls.TruncateAt)设置显示文本超出TextView的长度时如何处理处理文本内容

android:gravitysetGravity(int)设置文本框显示文本的对齐方式

android:maxLinessetMaxLines(int)设置文本框的最多占几行

android:minLinessetMinines(int)设置文本框最少占几行

android:singleLinesetTransformationMethod设置文本框是否是单行模式。

android:drawableLeftsetCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)在文本框左侧绘制图像

android:drawableRightsetCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)在文本框右侧绘制图像

android:drawableTopsetCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)在文本框上方绘制图像

android:drawableBottomsetCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)在文本框下方绘制图像

android:drawableStart在文本框开始处绘制图像

android:drawableEnd在文本框结束处绘制图像

android:drawablePadding设置文本框显示文字和图像之间的间距

2.2.2文本编辑框(EditText)

EditText是TextView的直接子类,一个可编辑的文本输入框。它可以接受多行输入,并自动换行。EditText常用的XML属性如表2-2所示。

表2-2 EditText XML属性及方法

XML属性对应方法备注

android:hintsetHint(int)设置文本编辑框显示的提示文本

Android:textColorHintsetHintTextColor(int)设置提示文本的颜色

Android:inputTypesetRawInputType(int)设置文本编辑框的输入类型

下面通过一个实例来讲解EditText的使用方法。

实例2-2:

用户登录界面要求输入用户名和密码,对于一个友好的交互界面而言,接收用户输入的编辑框应提示用户如何输入;当用户切换到输入框时,输入框应自动选择已经输入的内容;当有特定输入要求时,输入框应做出相应的判断和相应。

登录界面具体内容如程序清单2-2所示。

204f61b532374ade9b3b2911bea31b11.jpg

上面布局中含有两个EditText,分别通过android:hint属性指定了提示文本的内容;通过android:textColorHint属性指定了提示文本的颜色;通过android:inputType指定了密码框的输入类型。使用Activity呈现该布局,效果如

423fe3f0fccc423d91bce15e6b549bbd.jpg

2.2.3按钮 (Button&ImageButton)

Android按钮可包含文本、图片和图片及文字,分为Button和ImagetButton两个控件。Button是TextView的直接子类,如图图2-4所示,主要响应用户的单击操作,如常见的“确定”、“登录”、“注册”按钮等

cb75605ec306456bb28519b063348263.jpg

表2-3Button的常用属性及方法

XML属性方法备注

android:textsetText(CharSequence)设置按钮文字

android:drawableLeft设置左侧图片(上侧drawableTop、右侧drawableRight、

底部drawableBottom)

ImageButton和Button一样也是主要响应用户的单击操作的UI控件,ImageButton可设置图片的按钮,不过ImageButton并不是TextView的子类而是ImageView的直接子类

XML属性方法备注

android:srcsetImageResource(int )制作按钮图片

下面通过实例讲解Button的用法

11bab0d4fa8442479fb0e401b5ea3472.jpg

2.2.4单选按钮 (RadioButton和RadioGroup)

RadioButton是单选按钮,可提供若干选项方便用户进行选择操作,且在一组选项中只能选择一个。RadioGroup继承自ViewGroup和RadioButton结合使用,将若干RadioButton选项组合为一组。如图2-7所示

XML属性方法备注

android:textsetText(CharSequence)设置单选按钮文字

android:buttonsetButtonDrawable(int)设置单选按钮图形,常用于取消单选按钮默认图形,如:android:button=”@null”

android:checked设置单选按钮的选择状态true表示选择,false表示未选择,但单选按钮的选择状态并不能通过该属性实现,而是通过RadioGroup的check(int)方法实现

XML属性方法备注

android:orientation设置单选按钮的排列方式”horizontal”:水平排列,”vertical”:垂直排列

check(int id)设置单选按钮组的默认选项

2.2.5复选框 (CheckBox)

CheckBox是和RadioButton一样是常见的选项控件,CheckBox是复选框控件即用户可任意选择多个选项

表2-8CheckBox的常用属性及方法

XML属性方法备注

android:textsetText(CharSequence)设置复选框文字

android:checkedsetChecked(boolean)设置复选框组的默认选项

android:buttonsetButtonDrawable(int)设置复选框按钮图形,常用于取消复选框默认图形,如:android:button=”@null”

下面通过实例讲解CheckBox、RadioButton和RadioGroup的界面设计

80b42fb90f8343fcbd4b8cdc0950a905.jpg

476eedb2cc844e8bbe8b17310be51c25.jpg

92256714ed2641d19e6bf0f2dac6146b.jpg

2c9cd148b24043bf8eca207888d162e9.jpg

ffb133d8c14c419cb28a35a121fe060c.jpg

2.2.6图片控件(ImageView)

ImageView用于显示本地资源图片或加载网络图片的UI控件,TextView和ImageView实现了Android图文并茂的界面

表2-9ImageView的常用属性及方法

XML属性方法备注

android:srcsetImageResource(int)设置图片

android:scaleTypesetScaleType(ScaleType)设置图片的缩放、等比缩放、裁剪

scaleType是ImageView控件的重要属性,当加载的图片资源与控件的大小不匹配时,该如何呈现图片资源就可通过这个属性进行配置。scaleType属性值如表2-10所示:

表2-10scaleType属性及说明

属性值说明

fitCenter缺省值.保持纵横比缩放,图片放在ImageView中央

fitStart保持纵横比缩放,图片放在ImageView左上角

fitEnd保持纵横比缩放,图片放在ImageView右下角

fitXY对图片横向、纵向独立缩放以适应控件大小。

center把图片放在ImageView中间,不进行任何缩放

centerCrop保持纵横比缩放,图片完全覆盖ImageView。

centerInside保持纵横比缩小,ImageView能完全显示该图片。

下面通过实例来验证scaleType属性的作用

fitCenter、fitStart、fitEnd相似都是会保持图片纵横比进行缩放,这样不会造成图片的宽和高比例失调,但会出现ImageView没有被完全覆盖的问题,即会在宽或高出现空缺。

17b1821f11db4fbb908755e68373ef17.jpg

代码:

1e7b6686fe794557b04452a722955fb9.jpg

5f53a1dde9da4047a51dda650055d9f6.jpg

d0862298315a4719b68c02a893cea071.jpg

cf4c82a3a39d432d8e5b89626df0617d.jpg

07a03dfc1a3f4791b531bbbb4f2b7111.jpg

97cdc80ad98140ba832578c474316354.jpg

作者:冲天之峰    20160705

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值