关于Android界面组件的基本用法

关于Android界面组件的基本用法,第1张

1文本框(TextView)和编辑框(EditText)
文本框(TextView)不允许用户编辑文本内容,而编辑框(EditText)允许用户编辑文本内容

2按钮(Button)和按钮(ImageButton)
Button显示文字,ImageButton显示。
为ImageButton指定android:text属性没用,不会显示文字
可以指定android:background为按钮增加背景,但这是固定的
可以指定android:src为按钮增加属性
其实,src才是设置图标,而background只是设置背景。
如果控件的大小是100 100 资源是80 80的话,那么用src,就会居中显示,如果使用background那么就会被拉伸充满控件。
重要的是,background是底层的资源,src是覆盖在background上面的资源,他们可以叠加使用,实现选中的效果。

3单选按钮(RadioButton)和复选框(CheckBox)
多了一个android:checked属性,用于指定初始时是否被选中

4计时器组件Chronometer用法
红色字体表示常用的方法

5图像视图(ImageView)
它支持属性android:scaleType setScaleType(ImageViewScaleType)

matrix(ImageViewScaleTypeMATRIX):使用matrix方式进行
fixXY(ImageViewScaleTypeFIX_XY):对横向纵向独立缩放,会改变纵横比
fitStart(ImageViewScaleTypeFIT_START):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在左上角
fitCenter(ImageViewScaleTypeFIT_CENTER):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在中央
fitEnd(ImageViewScaleTypeFIT_END):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在右下角
center(ImageViewScaleTypeCENTER):放中间,不缩放
centerCrop(ImageViewScaleTypeCENTER_CROP):保持纵横比,使能完全覆盖ImageView
centerInside(ImageViewScaleTypeCENTER_INSIDE):保持纵横比,使ImageView能完全显示
6spinner的功能和用法
如果可以确定spinner里面的列表项,那么直接在/res/layout/mainxml里面指定

然后在/res/value/stringxml里面指定

如果不确定里面的列表项,那么必须要提供一个Adapter,这个Adapter负责决定Spinner列表每项的内容

7日期、时间选择器(DatePicker和TimePicker)

8自动完成文本框(AutoCompleteTextView)
比普通文本框多了一个功能:当用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单后,组件会按用户选择自动填写该文本框
使用该组件很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本

9进度条(ProgressBar)
通过style属性可以为ProgressBar指定风格。该属性可以有如下的属性值:

1@android:style/WidgetProgressBarHorizontal 水平进度条
2@android:style/WidgetProgressBarInverse 不断跳跃、旋转画面的进度条
3@android:style/WidgetProgressBarLarge 大进度条
4@android:style/WidgetProgressBarLargeInverse不断跳跃、旋转画面的大进度条
5@android:style/WidgetProgressBarSmall 小进度条
6@android:style/WidgetProgressBarSmallInverse不断跳跃、旋转画面的小进度条
ProgressBar提供如下方法来 *** 作进度

1setProgress(int) 设置进度的完成百分比
2incrementProgressBy(int) 设置进度条的增加或减少。参数为正增加,参数为负减少

10选项卡(TabHost)
TabHost仅仅只是一个简单的容器,它提供如下方法

1newTabSpec(String tag) 创建选项卡
2addTab(TabHostTabSpec tabSpec) 添加选项卡
使用TabHost的一般步骤为:

• A 在界面中定义TabHost组件,并为该组件定义该选项卡的内容
• B Activity应该继承TabActivity
• C 调用TabActivity的getTabHost()来获取TabHost对象
• D 通过TabHost对象的方法来创建选项卡、添加选项卡
选项卡主要由TabHost、TabWidget、FrameLayout3个组件组成,三者缺一不可,想象一下选项卡的特点,多个卡重叠在一起,所以用FrameLayout即帧布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三个组件的android:id必须使用系统默认的名称,而不能自己随意定义,否则会出错。

11图像切换器(ImageSwitcher)

12网格视图(GridView)
使用GridView一般指定numColumn大于1,否则取默认值为1那么GridView就变成了ListView
属性android:stretchMode支持如下属性

1none 不拉伸
2spacingWidth 仅拉伸元素之间的间距
3spacingWidthUniform 表格、元素之间的间距一起拉伸
4columnWidth 仅拉伸表格
13画廊视图(Gallery)(现在已经被弃用了,不过还是列出来吧)
Gallery用法很简单——为它提供一个内容Adapter,该Adapter的getView方法所返回的View可作为Gallery的列表项。可以通过OnItemSelectedListener监听选择项的改变

14列表试图(ListView和ListActivity)
1创建ListView由两种方式:

2直接使用ListView进行创建
让Activity继承ListActivity(继承了ListActivity的类无需调用setContentView()来显示页面,可以直接设置适配器)
一旦获得ListView后,就要创建显示的列表项了。需要借助内容Adapter,内容Adapter负责提供需要显示的列表项

创建ArrayAdapter时必须指定一个textViewResourceId,该参数决定每个列表项的外观

1simple_list_item_1 每个列表项是普通的TextView
2simple_list_item_2 每个列表项是普通的TextView(字体略大)
3simple_list_item_checked 每个列表项是已勾选的列表项
4simple_list_item_multiple_choice 每个列表项是带多选框的文本
5simple_list_item_single_choice 每个列表项是带多单选按钮的文本
15使用AlertDialog
1创建AlertDialogBuilder对象,该对象是AlertDialog的创建器
2调用AlertDialogBuilder方法为对话框设置图标、标题等
3调用AlertDialogBuilder的create()方法创建AlertDialog对话框
4调用AlertDialog的show()方法显示对话框

16使用Toast显示提示框
步骤如下:

• 调用Toast构造器或makeText方法创建Toast对象
• 调用Toast方法来设置该消息的对齐方式等
• 调用Toast的show()方法显示出来
• Toast toast = ToastmakeText(ToastTestthis, "信息", ToastLENGTH_LONG)show();

17Notification(一般显示网络状态、电池状态、时间等)
使用Notification发送Notification步骤:

• 调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的Notification Manager服务
• 通过构造器创建一个Notification对象
• 为Notification设置属性
• 通过Notification Manager发送Notification

写多了怕看着麻烦。写个例子。第一步:对话框里多选框的初始状态是只选中了第一个选项。 第二步打开对话框,在多选框里选上了第二个选项,点击“取消”按钮,关闭对话框。 第三步:再次打开该对话框:按照正常思路来说,上次是点击“取消”按钮的,所以第二步的 *** 作应该是无效的,多选框应该只有第一个选项被选中。 但实际情况第二个选项还是被选中的。(安卓里默认记住上次的 *** 作)我就是想解决这样的一个问题,点击了取消按钮时要取消掉该次做的修改。 所以需要动态的对多选框选项进行 *** 作。求指点。。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12920087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存