Drawable:
drawable是抽象类。包括图片,色块,画板,背景。
drawable-ldpi 存放低分辨率图片。drawable-hdpi 高分辨率。drawable-xxhdpi 超高分辨率。
Android:src=”@drawable/image” 即可使用
Shape:
形状图形。圆角,矩形等常见几何图形,可以自定义画内置图形。
属性有: <size>尺寸 <stroke>描边 <corner>填充圆角
<Solid>填充颜色 <padding>间隔 <gradient>渐变
九宫格图片:
9.png (图片拉伸的时候特定的区域不会发生图片失真)
界面上边的黑线指的是水平方向拉伸区域。
界面左边的黑线指的是垂直方向拉伸区域。
界面下边的黑线指的是该图片作为控件背景时,内部文字左右边界放在黑线内。
界面右边的黑线指的是该图片作为控件背景时,内部文字上下边界放在黑线内。
状态列表图形:
根据状态(是否被点击)显示不同图形
<item android:state_pressed="true" android:drawable="@drawable/text"/> 选中
<item android:drawable="@drawable/text1"/> 不选中
复选框CheckBox:
<CheckBoxandroid:id="@+id/ck_system"android:layout_width="match_parent"android:layout_height="wrap_content"android:padding="5dp"android:text="这是系统的CheckBox"/>
开关按钮Switch:
Switch控件新添加的XML属性说明如下:
textOn:设置右侧开启时的文本。
textOff: 设置左侧关闭时的文本。
Track: 设置开关轨道的背景。
Thumb: 设置开关标识的图标。
<TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="start"android:layout_weight="1"android:padding="5dp"android:text="这是一个switch开关的文本"/><Switchandroid:layout_width="80dp"android:layout_height="30dp"android:layout_gravity="end"android:padding="5dp" />
单选按钮RadioButton:
<RadioGroup android:id="@+id/rg_gender"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rb_male"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="男"/><RadioButtonandroid:id="@+id/rb_female"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="女"/></RadioGroup>
编辑框EditText:
<EditText android:layout_width="match_parent"android:layout_height="wrap_content"android:background=”@null” //取消边框android:maxLength="16" //最大输入文字android:hint="请输出用户名" //提示文字android:inputType="text"/> //输入类型
焦点变更监听器:(用于验证性)
et_phone = findViewById(R.id.et_phone); //获取到号码数据
EditText et_password=findViewById(R.id.et_password);
et_password.setOnFocusChangeListener(this); //焦点变更监听方式
//检测焦点做判断
public void onFocusChange(View view, boolean hasFocus) { if (hasFocus) {String phone= et_phone.getText().toString();//手机号码不足11位if (TextUtils.isEmpty(phone)||phone.length()<11){ et_phone.requestFocus();Toast.makeText(this,"请输入11位手机号码",Toast.LENGTH_SHORT).show();} } }
文本变化监听器:
addTextChangedLinstener接口
有三个方法 ① beforeTextChange 文本改变前
② onTextChanged 文本改变过程中
③afterTextChanged 文本改变之后
弹出类提醒对话框AlertDialog:
public void onClick(View view) {//创建提醒对话框构建器AlertDialog.Builder builder =new AlertDialog.Builder(this);builder.setTitle("尊敬的用户");//设置对话框的内容文本builder.setMessage("你真的要卸载我嘛?");//设置对话框的肯定按钮文本及其点击监听builder.setPositiveButton("残忍卸载", (dialogInterface, i) -> {tv_alert.setText("我滚了,你照顾好自己");});//设置对话框否定按钮文本及监听builder.setNegativeButton("我再想想",(dialogInterface, i) -> {tv_alert.setText("你不离,我不弃");});//根据建造器构建提醒对话框对象AlertDialog dialog = builder.create();//显示提醒对话框dialog.show(); }
日期对话框DatePickerDialog:
<DatePickerandroid:layout_width="match_parent"android:layout_height="wrap_content"android:datePickerMode="spinner"android:calendarViewShown="false"/>
时间对话框TimePickerDialog:
<TimePickerandroid:id="@+id/tp_time"android:layout_width="match_parent"android:layout_height="wrap_content"/>
仅为个人笔记记录使用