Android界面编程

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

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

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

2.1  Android UI的基础知识

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

Android界面编程——Android基本控件_第1张图片

2.2  Android基本控件

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

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

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

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

Android界面编程——Android基本控件_第2张图片

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

Android界面编程——Android基本控件_第3张图片

实例2-1:

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

Android界面编程——Android基本控件_第4张图片

Android界面编程——Android基本控件_第5张图片

Android界面编程——Android基本控件_第6张图片

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基本控件_第7张图片

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

Android界面编程——Android基本控件_第8张图片

2.2.3按钮 (Button&ImageButton)

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

 

  

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基本控件_第9张图片

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基本控件_第10张图片

Android界面编程——Android基本控件_第11张图片

Android界面编程——Android基本控件_第12张图片

Android界面编程——Android基本控件_第13张图片

Android界面编程——Android基本控件_第14张图片

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基本控件_第15张图片

代码:

Android界面编程——Android基本控件_第16张图片

Android界面编程——Android基本控件_第17张图片

Android界面编程——Android基本控件_第18张图片

Android界面编程——Android基本控件_第19张图片

Android界面编程——Android基本控件_第20张图片

Android界面编程——Android基本控件_第21张图片



作者:冲天之峰    20160705


更多相关文章

  1. android:layout_marginLeft指该控件距离边父控件的边距, android:
  2. Android中图片实现按钮点击效果
  3. Android 1比1高仿微信图片选择器(新)
  4. android实现图片平移、旋转、缩放
  5. Android studio :适配器控件
  6. android 显示gif图片
  7. Android 浏览图片层叠放大效果(CoverFlow)
  8. android 控件抖动

随机推荐

  1. 透明效果
  2. Android 按home键重新创建Activity的问题
  3. android6.0编译失败
  4. Android之在ubuntu上常用的am、pm命令的
  5. 屏幕唤醒与解锁解决方案
  6. Android Volley学习
  7. Android 自动更新程序
  8. Unable to get view server version from
  9. Android初学者—listView用法
  10. android/java 计算大文件的sha1值