Android界面编程——Android基本控件

时间:2021-04-13 20:43:41

 Android界面编程

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

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

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

2.1  Android UI的基础知识

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

Android界面编程——Android基本控件

2.2  Android基本控件

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

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

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

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

Android界面编程——Android基本控件

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

Android界面编程——Android基本控件

实例2-1:

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

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

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

表2-1 TextView XML属性和方法

XML属性

对应方法

备注

android:text

setText(CharSquence)

setText(int resId)

设置文本框显示的文本内容

android:textColor

setTextColor(ColorStateList)

设置文本框显示文本的颜色

android:textSize

setTextSize(float)

设置文本框显示文本的字号

android:textStyle

setTypeface(Typeface)

设置文本框显示文本的字体风格

android:textAppearance

 

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

android:ellipsize

setEllipsize(TextUitls.TruncateAt)

设置显示文本超出TextView的长度时如何处理处理文本内容

android:gravity

setGravity(int)

设置文本框显示文本的对齐方式

android:maxLines

setMaxLines(int)

设置文本框的最多占几行

android:minLines

setMinines(int)

设置文本框最少占几行

android:singleLine

setTransformationMethod

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

android:drawableLeft

setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

在文本框左侧绘制图像

android:drawableRight

setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

在文本框右侧绘制图像

android:drawableTop

setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

在文本框上方绘制图像

android:drawableBottom

setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

在文本框下方绘制图像

android:drawableStart

 

在文本框开始处绘制图像

android:drawableEnd

 

在文本框结束处绘制图像

android:drawablePadding

 

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

 

2.2.2文本编辑框(EditText)

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

 

 

2-2 EditText XML属性及方法

XML属性

对应方法

备注

android:hint

setHint(int)

设置文本编辑框显示的提示文本

Android:textColorHint

setHintTextColor(int)

设置提示文本的颜色

Android:inputType

setRawInputType(int)

设置文本编辑框的输入类型

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

实例2-2:

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

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

Android界面编程——Android基本控件

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

Android界面编程——Android基本控件

2.2.3按钮 (Button&ImageButton)

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

Android界面编程——Android基本控件 

  

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

XML属性

方法

备注

android:text

setText(CharSequence)

设置按钮文字

android:drawableLeft

 

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

底部drawableBottom)

 

 

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

 


XML属性

方法

备注

android:src

setImageResource(int )

制作按钮图片

 

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

Android界面编程——Android基本控件

2.2.4单选按钮 (RadioButton和RadioGroup)

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

 


XML属性

方法

备注

android:text

setText(CharSequence)

设置单选按钮文字

android:button

setButtonDrawable(int)

设置单选按钮图形,常用于取消单选按钮默认图形,如:androidbutton=”@null”

android:checked

 

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

 


XML属性

方法

备注

android:orientation

 

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

 

check(int id)

设置单选按钮组的默认选项

 

 

2.2.5复选框 (CheckBox)

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

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

XML属性

方法

备注

android:text

setText(CharSequence)

设置复选框文字

android:checked

setChecked(boolean)

设置复选框组的默认选项

android:button

setButtonDrawable(int)

设置复选框按钮图形,常用于取消复选框默认图形,如:androidbutton=”@null”

 

下面通过实例讲解CheckBoxRadioButtonRadioGroup的界面设计

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

2.2.6图片控件(ImageView)

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

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

XML属性

方法

备注

android:src

setImageResource(int)

设置图片

android:scaleType

setScaleType(ScaleType)

设置图片的缩放、等比缩放、裁剪

 

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

 

2-10scaleType属性及说明

属性值

说明

fitCenter

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

fitStart

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

fitEnd

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

fitXY

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

center

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

centerCrop

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

centerInside

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

 

 

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

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

Android界面编程——Android基本控件

代码:

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件

Android界面编程——Android基本控件



作者:冲天之峰    20160705