Android学习笔记——常用的基本UI组件及其常用属性值和相关方法
16lz
2021-01-26
这里面所有的实例代码我都上传到Github上了,想要看的可以去这:https://github.com/Silence9102/Exercise_Android/tree/master/Exercise_UI_Control
1.文本类组件
TextView文本框组件
- android:text:设置组件显示内容,属性值建议使用string.xml资源文件进行设置然后调用
- android:textSize:设置文字大小,属性值为n sp,n为任意正整数,sp是文字大小单位
- android:textColor:设置文字颜色,属性值可以使用预设好的属性值也可以自行使用类似#FFFFFF的格式进行调整,在图形界面调整时,RGB代表不透明颜色,ARGB代表可透明颜色
- android:singleLine:设置组件单行显示,属性值为true或者false
EditText编辑框组件
- android:hint:设置编辑框输入提示,当编辑框没有任何输入时显示提示内容
- android:inputType:设置输入数据类型,比如textPassword表示输入的是密码,输入的内容将会隐藏
- android:drawableLeft:在编辑框左侧绘制一个图像,其他绘制方向以及start和end的使用方法等同于之前的组件
- android:drawablePadding:设置上一个绘制的图像的内边距
- android:lines:设置编辑框的输入行数限制为n,超过将会自动隐藏并允许向上滚动,属性值为正整数
2.按钮类组件
Button普通按钮组件
- android:text:用于设置按钮上显示的内容,属性值同上
- android:textAllCaps:用于控制按钮显示文字是否全部大写,默认为true,属性值为true或者false
- android:onClick:设置单击按钮时触发的自定义函数,另一种方法是在Java文件中为按钮添加事件监听器
- 通过匿名内部类的方法对按钮点击事件进行监听
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Button Test Click", Toast.LENGTH_SHORT).show(); } });
- 使用接口实现对按钮点击事件的监听
public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button_1); button.setOnClickListener(this); }//重写onClick()方法 @Override public void onClick(View view) { switch (view.getId()) { case R.id.button_1: Toast.makeText(this, "Button Test Second Click", Toast.LENGTH_SHORT).show(); break; default: break; } }}
ImageButton图片按钮组件
- android:src:设置图片按钮显示内容
- 当background属性设置为#0000时图片背景将被设置为透明
RadioButton单选按钮组件
//单选按钮组标签,用于将几个单选按钮组件设置为同一组
- android:text:设置显示文字
- android:checked:设置是否默认选中,属性值为true或者false
//为RadioGroup设置改变监听器当单选按钮改变时获取单选按钮选中内容 final RadioGroup radioGroup = findViewById(R.id.RadioGroup1); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { RadioButton radioButton = findViewById(i); Toast.makeText(MainActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show(); } }); //设置当单击某个按钮时获取单选按钮选中内容 Button testBtn = findViewById(R.id.TestBtn); testBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < radioGroup.getChildCount(); i++) { RadioButton radioButton = (RadioButton) radioGroup.getChildAt(i); if (radioButton.isChecked()) { //使用Toast测试输出 Toast.makeText(MainActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show(); break; } } } });
CheckedBox复选框组件
-
android:checked:设置是否为默认勾选状态,属性值为true或者false
使用监听器获取CheckedBox选中时获取相关信息:
//关于下面这个变量为什么要用final修饰看这个:https://www.cnblogs.com/dolphin0520/p/3811445.html final CheckBox checkBox1 = findViewById(R.id.like1); checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if(checkBox1.isChecked()){ Toast.makeText(MainActivity.this, checkBox1.getText(),Toast.LENGTH_SHORT).show(); } } });
判断当设置的监听器触发时,某个复选框是否被选中,如果被选中,获取相关信息:
if(checkBox1.isChecked()){ checkedMsg+=checkBox1.getText().toString(); }
3.日期时间类组件
DatePicker日期选择器
使用监听器在日期选择器更改日期时获取更改的日期数据:
public class MainActivity extends AppCompatActivity { int year,month,day; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DatePicker datePicker = findViewById(R.id.datepicker); //使用Calendar对象获取现在的时间和日期 Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); day = calendar.get(Calendar.DAY_OF_MONTH); //将datepicker初始化为现在的日期时间 datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) { year = i; month =i1; day = i2; show(i,i1,i2); } }); } private void show(int year , int month , int day){ String str = year+"年"+(month+1)+"月"+day+"日"; Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show(); }}
TimePicker时间选择器
使用监听器在时间选择器更改时间时获取更改的时间数据:
TimePicker timePicker = findViewById(R.id.timepicker1); timePicker.setIs24HourView(true); timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker timePicker, int i, int i1) { Toast.makeText(MainActivity.this, i+"时"+i1+"分", Toast.LENGTH_SHORT).show(); } });
Chronometer计时器
使用监听器在计时器到达指定时间执行相应命令
// setbase() 设置计时器的起始时间// setFormat() 设置显示时间的格式// start() 指定开始计时// stop() 指定停止计时// setOnChronometerTickListener() 为计时器绑定事件监听器,当计时器改变时触发该监听器 Chronometer chronometer = findViewById(R.id.chronometer); //设置计时器开始计时时间为当前系统时间 chronometer.setBase(SystemClock.elapsedRealtime()); chronometer.setFormat("%s"); chronometer.start(); chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { //当计时器到60秒时停止计时 if(SystemClock.elapsedRealtime()-chronometer.getBase()>=60000) chronometer.stop(); } });
更多相关文章
- 安卓Doubango架构的使用小结
- android 自定义radiobutton的样式 实现自己想要的样子
- 关于Android工程compilesdk,minsdk,targetsdk
- Android(安卓)Studio配置javah自动生成头文件
- adb命令模拟按键事件 KeyCode
- 解决listview设置背景图片以后,拖动出现黑色的问题。
- android radioButton 动态设置背景
- 一、Android(安卓)解决在ListView Item 中Edittext数据显示混乱
- Android(安卓)分别设置锁屏和桌面壁纸的实现