很low的安卓学习笔记(二、控件)
- 二、控件
二、控件
1.TextView(文本):
1.1.常见属性:
1.2.文本覆盖:
若在xml中设置text为“xxx”,但是在Activity中输入了
TextView tv_1 = findViewById(R.id.tv_1);
tv_1.setText("yyy");
按照优先级,Activity中set的text内容会覆盖掉xml中的text,最终显示“yyy”
2.ImageView(图片):
2.1.常见属性:
2.2.android:adjustViewBounds:
属性可设为true/false。选择为ture时,则使图片无论怎么改变大小,其宽高比总保持不变。
3.Button(按钮):
3.1.设置点击事件:
findViewById(R.id.xxx)
然后按下Alt + Enter自动规范代码
例如:
TextView tv_1 = findViewById(R.id.tv_1) ;
Button btn_1 = findViewById(R.id.btn_1)
3.2.点击事件获取输入对象:
String text = et_1.getText().toString()
3.2.三种点击事件的优先级:
点击onclick,长按longclick,触摸touch:
优先级touch→longclick→click,
若touch将返回值设为true,则只执行touch;
若longclick将返回值设为true,则先执行touch,然后是longclick,click不执行
3.4.无边框按钮:
在xml文件的button控件中添加如下代码:
style="?android:attr/borderlessButtonStyle"
4.PrograssBar(进度):
4.1.常见属性:
4.2.android:indeterminate:
若将此属性设置成true,则进度条不精确显示进度值。
(但此时需要设置进度条的style,若为默认style,我们是看不出有什么区别的。可以创建两个progressbar,都使用水平进度条style,其中一个加上indeterminate=“true”,则可以明显看出区别)
4.3.水平进度条:
在xml文件的Prograssbar控件中添加如下代码:
style="?android:attr/progressBarStyleHorizontal"
4.3.进度条的显示和隐藏:
若进度条隐藏(GONE),则点击事件将会使其显示(VISIBLE);反之则会使其隐藏:
public void pbclick(View view) {
if (pb_1.getVisibility() == View.GONE){
pb_1.setVisibility(View.VISIBLE);
}else{
pb_1.setVisibility(View.GONE);
}
}
4.4.点击事件,点击一次进度值增加10:
public void loadclick(View view) {
int progress = pb_2.getProgress();
progress += 10;
pb_2.setProgress(progress);
}
5.Notification(通知):
5.1.通知重要程度设置,NotificationManager类中:
默认为:DEFAULT:开启通知,不会弹出,有提示音,显示在状态栏
一般设置为:HIGH:开启通知,会弹出,有提示音,显示在状态栏
5.2.常见属性:
前三项为必须项,后五项根据需求酌情添加即可。
6.Toolbar(最上栏):
6.1.常见属性:
6.2.作用:
Toolbar用于替换values→themes.xml里面的ActionBar,即配置此处:
若配置为NoActionBar,则省去了此栏,即省去了上图中圈中的一栏
6.3.使用:
xml文件中使用Toolbar不是
<Toolbar>
xxx
</Toolbar>
而是
<androidx.appcompat.widget.Toolbar>
xxx
</androidx.appcompat.widget.Toolbar>
设置宽高时,宽度match_parent
,高度应与默认ActionBar一致,即?attr/actionBarSize
6.4.设置属性:
设置Toolbar的属性不仅可以在xml中设置,在Activity中也可以设置,
在Activity中,首先findViewById
找到Toolbar对象,
其次通过setXXX选择各项属性进行相应设置即可,例如:
设置图标:tb_1.setNavigationIcon(R.drawble.icon_back);
设置标题:tb_1.setTitle("标题");
6.5.标题居中问题:
Toolbar中无内设居中属性,若想居中标题,
则需要在<androidx.appcompat.widget.Toolbar>
与</androidx.appcompat.widget.Toolbar>
之间,
新建TextView,然后将text属性视为Toolbar的标题,再设置android_layout_gravity="center"
即可
7.AlertDialog(对话框):
7.1.实现方法:
(在Activity中设置,先通过button设置点击事件,之后new一个AlertDialog.Builder
,再在其中通过链式结构进行设置各项属性)
7.2.顺序:
icon、title、message、view返回Builder,顺序随意;
create返回AlertDialog,show也属于Dialog,所以create和show放置在末尾
8.PopupWindow(弹出选择框):
8.1.实现方法:
8.2简便方法:
通过在Activity中构造方法设置属性,比通过一条一条setXXX设置属性更便捷,且一般选用:
A.3个参数:public PopupWindow(View contentView , int width , int height){}
B.4个参数:public PopupWindow(View contentView , int width , int height , boolean focusable){}