第三讲 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进行了设置那么会出现下图情况:

text
只需要将android:text=""删除即可:
hint

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的构造方法
这里我主要讲第一种方法的实现(因为后面两种我还没掌握(#.#)):

  1. 在res->values下创建一个.xml文件
A
B
C
D
>

2.布局文件里通过android:entries引用

  • 效果
    spinner效果图
    参考:
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(**)

显示时间、日期

时间

data

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();            }        });

AlertDialog.Builder实现

转载地址:https://matches999.blog.csdn.net/article/details/89297331 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:第四讲 布局管理器
下一篇:变量命名规范,看这个就够了

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月17日 00时47分21秒