第三讲 UI控件使用
发布日期:2021-07-01 02:29:50
浏览次数:2
分类:技术文章
本文共 4701 字,大约阅读时间需要 15 分钟。
第三讲 UI控件
一、引言
活动类似于桌子,UI控件类似于桌子上的菜,是时候了解各种菜式(UI控件)
二、教学内容
1、view类(****)
- view类,是几乎所有具有外观的UI控件的共同父类
- view类属性设置有两种,静态(文本型,可视化型),动态
- view类的共有属性: ID:组件的标识,是组件的唯一标记
不过现在我还是更倾向于在design下完成一些修改操作,毕竟这样对于初学者来说,不用刻意的去记这么些代码被劝退,嘻嘻!
2、 TextView(****)
可以用来显示一段提示信息
- Text:显示的文本
- TextSize:文字字体大小
- TextColor:文字字体颜色
3、 Button(****)
按钮,为了和用户进行交互,当用户点击,执行一段代码,称为事件相应。
Button btnTest = findViewById(R.id.btnTest); btnTest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
4、EditText(****)
输入框,接收用户的信息输入
-InputType:设定输入框输入信息类型 -hint:给出提示如果同时对name、hint进行了设置那么会出现下图情况:
只需要将android:text=""删除即可:5、 度量单位
六种不同度量单位
1) px:像素点,分辨率的单位 2) sp:字体单位 3) dp:dip单位像素密度 dpi=160 1dp =1px,建议使用 4) pt:磅 5) in:英寸 6) mm:毫米6、 RadioButton 和RadioGroup(***)
单选框,只能让用户选中其中一个选项,
- RadioGroup:为我们提供了RadioButton单选按钮的容器,可以保证用户的排他性选择。
- RadioButton:通常放于RadioGroup容器中进行使用。
- GetCheckRadioButton:获取选中项的ID
android:checked="true"//实现按钮的选中
单选框实现:
一般步骤:在design模式下,先拖入一个RadioGroup,然后在Group中拖入按钮即可实现。功能完善:
public class MainActivity extends AppCompatActivity {//定义按钮对象 private RadioButton rbA; private RadioButton rbB; private RadioButton rbC; private Button btnConfirm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initOption(); feedback(); } //初始化按钮对象 private void initOption() { rbA = findViewById(R.id.rbA); rbB = findViewById(R.id.rbB); rbC = findViewById(R.id.rbC); btnConfirm = findViewById(R.id.btConfirm); } //Toast反馈 private void feedback() { btnConfirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (rbA.isChecked()) { Toast.makeText(MainActivity.this, "选择为A", Toast.LENGTH_LONG).show(); } if (rbB.isChecked()) { Toast.makeText(MainActivity.this, "选择为B", Toast.LENGTH_LONG).show(); } if (rbC.isChecked()) { Toast.makeText(MainActivity.this, "选择为C", Toast.LENGTH_LONG).show(); } } }); }}
7、 CheckBox
复选框,允许用户同时选中多项
IsChecked:判断是否选中8、 Spinner(****)
单选下拉列表框,让用户从更多的选项中选择其中之一
三种设置选项方式: 1) 定义一个资源文件,使用Entries设定选项 2) 定义一个资源文件,使用ArrayAdapter类的CreateFormResource方法 3) 定义一个List对象,使用ArrayAdapte的构造方法 这里我主要讲第一种方法的实现(因为后面两种我还没掌握(#.#)):- 在res->values下创建一个.xml文件
> - A
- B
- C
- D
2.布局文件里通过android:entries引用
- 效果 参考:
9、 ImageView(*****)
显示图片
Src:指定图片路径(文件夹可以自己创建,文件名命名不要使用中文)scaleType:缩放模式也可以好好了解:
属性 | 功能 |
---|---|
center | 保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。 |
centerCrop | 以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。 |
centerInside | 以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。 |
matrix | 不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。 |
fitCenter | 把原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示 |
itEnd | 把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的下部分位置 |
fitStart | 把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置 |
fitXY | 把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView. |
10、 CalendarView、DatePicker和TimePicker(**)
显示时间、日期
11、 Toast(*****)
- 临时显示一段提示信息给用户 这在前面的部分已经使用了,具体格式如下
Toast.makeText(上下文,显示的信息,显示的时间长度).show();
12、 AlertDIalog(****)
消息提示框,可以和用户交互;
可以在当前的界面上弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,所以一般用来提示一些非常重要的内容或者警告信息
Button btnAlert = findViewById(R.id.btnAlert); btnAlert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); //通过AlertDialog.Builder创建一个AlertDialog的实例 dialog.setTitle("this is a Dialog"); dialog.setMessage("something you hated is important"); dialog.setCancelable(false); //可否取消 dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dialog.show(); } });
转载地址:https://matches999.blog.csdn.net/article/details/89297331 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月17日 00时47分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
分布式架构下常见序列化技术-了解序列化的发展
2019-05-01
Java判断字符串是否为数字(浮点类型也包括)
2019-05-01
DNS服务各功能实现方法
2019-05-01
Nginx服务各功能实现方法
2019-05-01
docker 编译 文件 执行 dockerfile 报错 :debconf: delaying package configuration, since apt-utils is not ins
2019-05-01
ubuntu 完全卸载docker
2019-05-01
nvidia-docker 运行镜像
2019-05-01
Err:11 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 No
2019-05-01
2021-05-14 技术记录
2019-05-01
ubuntu opencv-python 安装很慢问题
2019-05-01
ubuntu 升级cmake 版本
2019-05-01
cudnn cuda-11.0
2019-05-01
2021-05-15 apt update 更新问题
2019-05-01
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
2019-05-01
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
2019-05-01
Azkaban体系结构
2019-05-01
Azkaban2.5环境搭建及测试
2019-05-01
机器学习之重头戏-特征预处理
2019-05-01