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显示的是构成界面的视图树。

2.2  Android基本控件

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

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

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

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

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

实例2-1:

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

表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)

EditText是TextView的直接子类,一个可编辑的文本输入框。它可以接受多行输入,并自动换行。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所示。

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

2.2.3按钮 (Button&ImageButton)

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

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


XML属性


方法


备注


android:text


setText(CharSequence)


设置按钮文字


android:drawableLeft


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

底部drawableBottom)

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


XML属性


方法


备注


android:src


setImageResource(int )


制作按钮图片

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

2.2.4单选按钮 (RadioButton和RadioGroup)

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

 


XML属性


方法


备注


android:text


setText(CharSequence)


设置单选按钮文字


android:button


setButtonDrawable(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:text


setText(CharSequence)


设置复选框文字


android:checked


setChecked(boolean)


设置复选框组的默认选项


android:button


setButtonDrawable(int)


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

 

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

2.2.6图片控件(ImageView)

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

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


XML属性


方法


备注


android:src


setImageResource(int)


设置图片


android:scaleType


setScaleType(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没有被完全覆盖的问题,即会在宽或高出现空缺。

代码:

作者:冲天之峰    20160705

时间: 2024-10-15 03:49:19

Android界面编程——Android基本控件的相关文章

Android界面编程——Android高级UI组件(三)

Android界面编程 Android高级UI组件 2.4.1适配器组件 适配器的作用 适配器充当适配器控件和该视图数据之间的桥梁.适配器提供访问的数据项,并负责产生数据组中的每个项的视图. 常用的适配器 BaseAdapter:抽象类,具有较高的灵活性. ArrayAdapter:最为简单,智能展示一行文字. SimpleAdapter:有较好的扩充性,可以自定义出各种效果. SimpleCursorAdapter:主要用于操作数据库. 常用的适配器控制 适配器控件扩展自ViewAdapter

Android界面编程——Android布局组件(二)

Android界面编程 2.3.1 布局介绍 布局用于定义Activity中UI元素的排列结构,Android提供了LinearLayout线性布局.RelativeLayout相对布局 .FrameLayout帧布局 .TableLayout表格布局.AbsoluteLayout坐标布局 共五种布局,可以通过两种方式声明布局: ? 在 XML 中声明 UI 元素.Android 提供了对应于 View 类及其子类的XML 元素 ? 运行时实例化布局元素.可以通过编程创建 View 对象和 Vi

Android界面编程——对话框控件(四)

Android界面编程--对话框控件 2.5对话框控件 对话框是提示用户作出决定或输入额外信息的小窗口.对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件.Android中常见跟对话框相关控件有Toast.AlertDialog.PopupWindow.ProgressDialog等 2.5.1 Toast Toast用于弹出一个简单文本信息为应用提供反馈,可以和当前活动保持可见和互动,在一定时间后自动消失.Toast有两种形式基本Toast和自定义Toast,效果如图2.5.1

Android界面编程——导航栏及菜单(六)

Android界面编程--导航栏及菜单 2.7导航栏及菜单 2.7.1  ActionBar ActionBar是Android3.0(API 11)开始增加的新特性,ActionBar出现在活动窗口的顶部,可以显示标题.icon.Actions按钮.可交互View,可实现应用程序级的导航,如图2.7-1所示 图2.7-1 其中 1. App icon: 主要用于展示App的Logo,如果当前界面不是一级界面,还可以展示返回航. 2.View Control: 用于切换不同的视图或者展示非交互信

Android 界面编程 探险(一)

Android应用大部分UI组件都放在android.widget包及其子包.android.view包及其子包中,所有UI组件都继承了View类,Android采用"组合器"设计模式来设计View和ViewGroup(ViewGroup是View的子类),Android图形用户界面的组件层次如下图: 在此强烈建议阅读官方文档(Documentation for Android SDK,打开index.html,Develop -> API Guides / Reference)

Android界面编程——日期时间组件(五)

Android界面编程--日期时间组件 2.6日期时间组件 2.6.1 TextClock 以文本的方式显示系统日期和时间,可以自定义显示格式,是 Android4.2(对应API Level 17)提供的新特性. TextClock有两种格式设置方式: 1. 在24小时模式: 属性:android:format24Hour 方法:set Format24Hour(CharSequence) 2. 在12小时模式: 属性:android: format12Hour 方法:set Format12

android - 自定义(组合)控件 + 自定义控件外观

转载:http://www.cnblogs.com/bill-joy/archive/2012/04/26/2471831.html android - 自定义(组合)控件 + 自定义控件外观 Android自定义View实现很简单 继承View,重写构造函数.onDraw,(onMeasure)等函数. 如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml.在其中定义你的属性. 在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://sc

android中常用的小控件------Widgets的使用

好久没有写博客了,都不知博客怎么写了,最近突然想写博客,以帮助更多的人,却又不知道写什么好呢? 好吧  我承认我有点懒惰了,可是程序猿是不应该懒惰的哦,俺要做个好孩子. 好了言归正传,开始介绍下今天的主要内容吧! Widgets一个桌面的小控件    个人认为是很常用的,不知道大神们是不是这么觉得的呢?比如说你开发的一款音乐播放器的软件,可把基本的上一曲和下一曲.暂停的几个功能放在这个小控件里面将它显示在桌面上来,这样就很方便啦,你想要下一曲.上一曲.暂停播放的时候,就不用再打开播放器了,而是直

【Android 初学】3、控件布局初步

什么是控件布局 所谓的控件布局方法,就是指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性的方法. 控件的布局,在android中,有两种方法: 1.使用布局文件完成控件布局(相对简单) 2.在Java代码中完成控件布局(动态布局.更灵活.也相对复杂) 布局方法分类 1.Linear Layout(最容易掌握) 线性布局:可以纵向布局.也可以横向布局. 2.Ralative Layout(最常用使用.熟悉WEB开发的人就很熟悉) 3.ListView 4.Grid View