跟我学Android之五 常规组件

举报
tea_year 发表于 2021/12/29 22:51:29 2021/12/29
【摘要】 本章目标 掌握单选按钮的用法 掌握复选框的用法 掌握开关按钮的用法 掌握图像视图的用法。 掌握自动完成文本框的用法。 单选控件——RadioButton   一个普通单选控件的示例 <RadioGroup android:layout_width=“wrap_conte...

本章目标

掌握单选按钮的用法
掌握复选框的用法
掌握开关按钮的用法
掌握图像视图的用法。
掌握自动完成文本框的用法。



   
  1. <RadioGroup android:layout_width=“wrap_content” android:layout_height=“wrap_content”>
  2. <RadioButton android:id=“@+id/option1”
  3. android:layout_width=“wrap_content”
  4. android:layout_height=“wrap_content” android:text=“选项1” />
  5. <RadioButton android:id=“@+id/option2”
  6. android:layout_width=“wrap_content”
  7. android:layout_height=“wrap_content” android:text=“选项2” />
  8. </RadioGroup>

示例:
从一组RadioButton列表中选一项最喜欢的球类运动,在选择后将结果显示在TextView中。

总结:RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

复选控件——CheckBox    一个普通复选控件的示例


   
  1. <CheckBox android:id=“@+id/checkbox1”
  2. android:layout_width=“wrap_content”
  3. android:layout_height=“wrap_content” android:text=“工作了吗?” />
  4. < CheckBox android:id=“@+id/checkbox2”
  5. android:layout_width=“wrap_content”
  6. android:layout_height=“wrap_content” android:text=“结婚了吗?” />

示例:
在屏幕上添加3个爱好的复选框和1个按钮;在选中某种爱好时,以日志形式输出信息;在点击提交按钮时,显示所有选中的爱好项。



ToggleButton是一个用于表示开关状态的按钮   使用ToggleButton标签在布局文件中申明


   
  1. <ToggleButton
  2. android:id="@+id/togglebtn"
  3. android:layout_width="wrap_content"
  4. android:layout_height=“wrap_content” />

和按钮一样使用android.view.View.OnClickListener监听事件
常用事件还有android.view.View. OnCheckedChangeListener
对应的类是android.widget.ToggleButton
setTextOn()和setTextOff()方法可以用于设置按钮的状态文字
setChecked()可以用于设置按钮的状态
getChecked()用于提取按钮的状态

ImageView是一个用于显示图片的视图

可以显示来自资源获取其他内容提供者的图片
支持各种图像格式的显示
XML布局文件中的标签是ImageView,常用的属性
android:src 设置要显示的图片源
android:scaleType 图片的填充方式
android:adjustViewBounds 是否保持宽高比
android:tint 图片的着色
对应的类是android.widget.ImageView


   
  1. <ImageView
  2. android:id="@+id/imageview"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:contentDescription="@string/hello_world"
  6. android:src="@drawable/dog"/>

ImageButton是一个显示图片的按钮
可以通过android:src指定按钮要显示的图片


   
  1. <Button
  2. android:id="@+id/imagebutton"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:src="@drawable/playbutton"/>
通过android.view.View.OnClickListener监听按钮事件
对应的类是android.widget.ImageButton

   
  1. ImageButton btn = (ImageButton)findViewById(R.id.ibtn);
  2. btn.setOnClickListener(new OnClickListener() {
  3. public void onClick(View v) {
  4. Log.d("imageview", "clicked");
  5. }});
ImageSwitcher主要用于显示图片,支持图片切换效果,与ImageView的功能相似,但是支持动画,构建ImageSwitcher的步骤:,使用ImageSwitcher进行布局。


   
  1. <ImageSwitcher
  2. android:id="@+id/imageswitcher"
  3. android:layout_width="match_parent"
  4. android:layout_height="400dip”>
  5. </ImageSwitcher>


构建ImageSwitcher的步骤:
1代码中为ImageSwitcher提供视图工厂,用于显示图片
2ImageSwitcher设置图片换入换出的动画


   
  1. ImageSwitcher is = (ImageSwitcher)findViewById(R.id.imageswitcher);
  2. is.setFactory(new ViewFactory() {
  3. public View makeView() {
  4. return new ImageView(TestImageActivity.this);
  5. }});
  6. is.setInAnimation(AnimationUtils.loadAnimation(this,
  7. android.R.anim.fade_in));
  8. is.setOutAnimation(AnimationUtils.loadAnimation(this,
  9. android.R.anim.fade_out));

示例:完成简易图片浏览器


自动完成文本框是一个输入组件:在用户输入开头内容时能够自动匹配出设定的后续内容,是一种类似于Web中AJAX技术下的自动补全功能,组件类:ndroid.widget.AutoCompleteTextView


自动完成文本框的使用场合

候选内容很多,不适合采用下拉框进行选择
用户大部分时候输入部分固定内容
帮助用户进行快捷输入
如何使用?
1.为自动提示的下拉选择项提供显示布局
2.为下拉框提供内容数据
3.使用自动完成文本框

.自动完成文本框的常用属性

android:completionHint
定义下拉菜单的提示信息
android:completionThreshold
定义在下拉显示提示前,用户输入的字符数量
android:dropdownHeight
指定显示提示的时候下拉框的高度

作业:实现类似百度的搜索效果

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/51804171

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。