Android 常用的UI组件 2
【继续昨天没完成的内容~】
讲到 Button,那就讲讲 Button 派生出来的 ToggleButton (开关按钮)和 Switch (开关)。他们都提供两种状态。
【1】ToggleButton
ToggleButton的XML属性和方法:
android:checked --> setChecked(boolean) [设置控件是否被选中]
android:textOn [设置控件在选中时显示的文本]
android:textOff [设置控件在未选中时显示的文本]
直接上代码:
XML:
Java:
效果:
点击后 —>
【2】Switch
Switch的属性和方法
android:checked --> setChecked(boolean) [开关是否被选中]
android:textOff --> setTextOff(CharSequence) [开关关闭时显示的文本]
android:textOn --> setTextOn(CharSequence) [开关打开时显示的文本]
android:track --> setTrackResource(int) [使用自定义Drawable绘制开关按钮]
android:typeface --> setTrackResource(int) [开关文本的字体风格]
android:textStyle --> setSwitchTypeface(Typeface) [开关的文本风格]
android:switchMinWidth --> setSwitchMinWidth(int) [开关的最小宽度]
android:switchPadding --> setSwitchPadding(int) [开关与标题文本的间距]
android:switchTextAppearance --> setSwitchTextAppearance(Context,int) [开关图标的文本样式]
【3】ImageView
ImageView 继承 View 类,主要功能是显示图片。对于任何 Drawable 对象也都可以用 ImageView 来显示。先来说一下ImageView的常用属性和方法:
ImageView的常用属性及方法
android:src --> setImageResource(int) [设置ImageView显示的Drawable对象的ID]
android:maxHeight --> setMaxHeight(int) [设置最大高度]
android:maxWidth --> setMaxWidth(int) [设置最大宽度]
android:scaleType --> setScaleType(ImageView.ScaleType) [设置图片缩放以适应ImageView的大小]
android:adjustViewBounds --> setAdjustViewBounds(boolean) [设置ImageView时候调整边界来保持长宽比]
android:cropToPadding --> setCropToPadding(boolean) [设置最大高度]
这里用到了 android:scaleType 属性
【4】AdapterView
AdapterView 是个很重要的组件,其作用是以列表的形式显示数据。AdapterView的一般是包含多项相同格式资源的列表。
AdapterView 的三个特征:
AdapterView 继承le ViewGroup,所以它本质上也是容器。
AdapterView 包括多个列表项,并将多个列表项以合适的形式显示出来。
AdapterView 显示的多个列表项由 Adapter 提供,调用 setAdapter(Adapter) 方法便可。
常用的有4种AdapterView的子类:
ListView:简单的列表
Spinner:下拉列表
Gallery:缩略图,已经被水平的ScrollView和ViewPicker取代,但也还算常用,是一个可以把子项以中心锁定,水平滚动的列表
GridView:网格图,以表格形式显示资源,可以左右滑动的
(就不一 一详说了)
列表的适配器类型分为4种:
ArrayAdapter:处理列表项内容全是文本的情况,只能显示一行字。
SimpleAdapter:扩充性比较好,不仅可以处理列表项全是文本的情况,当列表项中还有其他控件时,同样可以处理,每个列表项可以定制更复杂的布局,组件等
SimpleCursorAdapter:是 SimpleAdapter对数据库的简单结合,可以把数据库的内容以列表的形式展示出来。
自定义 Adapter:继承 BaseAdapter,根据xml文件中定义的样式列表项的填充,适用性最强。
配上点击事件:
单击列表项事件:为列表加载 setOnItemClieckListener 监听,重写 onItemClick(发生单击事件的列表对象 ListView,被单击控件对象 view,在列表中的位置 position,被单击列表项的行 ID)方法。
长按事件:为列表加载 setOnItemLongClieckListener 监听,重写 onItemLongClick(发生单击事件的列表对象 ListView,被单击控件对象 view,在列表中的位置 position,被单击列表项的行 ID)方法。