本文共 4701 字,大约阅读时间需要 15 分钟。
活动类似于桌子,UI控件类似于桌子上的菜,是时候了解各种菜式(UI控件)
不过现在我还是更倾向于在design下完成一些修改操作,毕竟这样对于初学者来说,不用刻意的去记这么些代码被劝退,嘻嘻!
可以用来显示一段提示信息
按钮,为了和用户进行交互,当用户点击,执行一段代码,称为事件相应。
Button btnTest = findViewById(R.id.btnTest); btnTest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
输入框,接收用户的信息输入
-InputType:设定输入框输入信息类型 -hint:给出提示如果同时对name、hint进行了设置那么会出现下图情况:
只需要将android:text=""删除即可:六种不同度量单位
1) px:像素点,分辨率的单位 2) sp:字体单位 3) dp:dip单位像素密度 dpi=160 1dp =1px,建议使用 4) pt:磅 5) in:英寸 6) mm:毫米单选框,只能让用户选中其中一个选项,
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(); } } }); }}
复选框,允许用户同时选中多项
IsChecked:判断是否选中单选下拉列表框,让用户从更多的选项中选择其中之一
三种设置选项方式: 1) 定义一个资源文件,使用Entries设定选项 2) 定义一个资源文件,使用ArrayAdapter类的CreateFormResource方法 3) 定义一个List对象,使用ArrayAdapte的构造方法 这里我主要讲第一种方法的实现(因为后面两种我还没掌握(#.#)):> - A
- B
- C
- D
2.布局文件里通过android:entries引用
显示图片
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. |
显示时间、日期
Toast.makeText(上下文,显示的信息,显示的时间长度).show();
消息提示框,可以和用户交互;
可以在当前的界面上弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,所以一般用来提示一些非常重要的内容或者警告信息
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(); } });
转载地址:http://cpxtf.baihongyu.com/