【Android基础】UI
一、UI布局
1、线性布局(LinearLayout)
属性 | 描述 |
---|---|
android:orientation | 安排指定的方向。“horizontal”表示为一排,“vertical”表示一列。默认为horizontal |
android:gravity | 内部对齐(容器内全部子控件均遵循该对齐方式) |
android:layout_gravity | 外部对齐(针对某一个单独的子控件进行对齐,其他兄弟控件不受影响) |
android:layout_weight | 权重(比喻成体重,代表子控件在同一方向上所占比重,注意:当使用该属性时,对应宽/高需要设置为“0dp”) |
2、相对布局(RelativeLayout)
3、帧布局(FrameLayout)
FrameLayout:最简单的布局管理器。会根据元素的书写顺序,依次加入到帧布局中,后面的元素会覆盖前面的元素,默认是在布局中的左上角。(应用场景,两个按钮,点击第一个时第二个显示第一个隐藏,点击第二个时第一个显示第二个隐藏)
属性 | 描述 |
---|---|
android:foreground | 设置该帧布局容器的前景图像。该图像永远置于帧布局的最上端,不会被他的子组件覆盖。 |
android:foregroundGravity | 设置前景图像显示的位置 |
4、约束布局(ConstraintLayout)
约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout
属性 | 描述 |
---|---|
app:layout_constraintLeft_toLeftOf | 控件左边与指定的兄弟控件左边对齐 |
app:layout_constraintLeft_toRightOf | 控件左边与指定的兄弟控件右边对齐 |
app:layout_constraintRight_toLeftOf | 控件右边与指定的兄弟控件左边对齐 |
app:layout_constraintRight_toRightOf | 控件右边与指定的兄弟控件右边对齐 |
app:layout_constraintTop_toTopOf | 控件顶端与指定的兄弟控件顶端对齐 |
app:layout_constraintTop_toBottomOf | 件顶端与指定的兄弟控件底端对齐 |
app:layout_constraintBottom_toTopOf | 控件底端与指定的兄弟控件顶端对齐 |
app:layout_constraintBottom_toBottomOf | 控件底端与指定的兄弟控件底端对齐 |
app:layout_constraintBaseline_toBaselineOf | 控件文本基线与兄弟控件对齐 |
二、UI控件
1、TextView
属性 | 描述 |
---|---|
android:text | 显示内容 |
android:textSize | 显示内容的字体大小,sp |
android:textColor | 显示内容的颜色 |
android:lines | 初始显示的行数 |
android:maxLines | 最大显示的行数 |
android:ellipsize | 字过长不想换行,可以使用省略号,此值表示省略号的位置 |
android:autoLink | 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/all) |
2、Button
Button继承自TextView,他主要是在界面生产一个按钮,默认可点击。
当点击按钮时,会触发一个onClick事件。
可以为按钮设计图片。通过设计background属性来为Button添加背景图片
3、EditText
EditText控件与TextView控件非常相似。EditText相比TextView的最大变化是可以接受用户的输入,可以说它是用户和安卓应用进行数据传输窗户,有了它就等于有了一扇和安卓应用传输的门,通过它用户可以把数据传给安卓应用,然后得到我们想要的数据。
属性 | 描述 |
---|---|
android:hint | 提示文字 |
android:textColorHint | 提示文字的颜色 |
android:inputType | inputType显示不同类型的键盘 |
4、ImageView
专门用于显示图片的控件,src属性定义具体的图片。background属性也可以定义图片,当src和background同时定义时,src会覆盖background。
scaleType属性控制图片如何来匹配ImageView 的size:
5、CheckedBox
1)常用属性
属性 | 描述 |
---|---|
android:button | 设置复选框的显示图片 |
android:checked | 复选框默认是否被选中 |
2)事件监听
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
}
});
6、RadioButton
必须配合RadioGroup使用,一个RaidoGroup内的RadioButton在同时,最多只能有一个被选中。而且RadioButton要加ID属性
1)常用属性
属性 | 描述 |
---|---|
android:button | 设置复选框的显示图片 |
android:checked | 复选框默认是否被选中 |
2)RadioButton和RadioGroup的关系
1)RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2)每个RadioGroup中的RadioButton同时最多只能有一个被选中
3)不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4)大部分场合下,一个RadioGroup中至少有2个RadioButton
5)大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
6)RadioGroup是LinearLayout的子类,所以它也有orientation的属性
3)事件监听
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
int id = group.getCheckedRadioButtonId();//得到选中按钮的id
}
});
7、AutoCompleteTextView
AutoCompleteTextView继承自EditText,相比EditText该控件多了当在输入框中输入字符的时候,会根据预设的数据进行提示。
1)常用属性
属性 | 描述 |
---|---|
android:completionThreshold | 当输入几个字符后开始提示 |
android:completionHint | 根据你的输入弹出数据让你选择的时候的提示语 |
android:dropDownWidth | 下拉菜单的宽度 |
2)举例
a、自定义提示资源文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="city_name">
<item>Chengdu</item>
<item>Beijing</item>
<item>Tianjin</item>
<item>Suzhou</item>
<item>Shanghai</item>
</array>
</resources>
b、通过适配器绑定要提示的资源
autoCompleteTextView = findViewById(R.id.AutoCompleteTextView);
ArrayAdapter arrayAdapter = ArrayAdapter.createFromResource(this, R.array.city_name, R.layout.support_simple_spinner_dropdown_item);
autoCompleteTextView.setAdapter(arrayAdapter);
8、MultiAutoCompleteTextView
MultiAutoCompleteTextView是多选选项
使用MultiAutoCompleteTextView必须实现MultiAutoCompleteTextView.Tokenizer接口,用于声明用于选项与选项之间分隔的符号,一般如不特殊指定,可以使用Android为我们提供的实现类MultiAutoCompleteTextView.CommaTokenizer,它设定使用英文逗号","进行分隔选项
1)常用属性
属性 | 描述 |
---|---|
android:completionThreshold | 当输入几个字符后开始提示 |
android:completionHint | 根据你的输入弹出数据让你选择的时候的提示语 |
android:dropDownWidth | 下拉菜单的宽度 |
2)举例
a、自定义提示资源文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="city_name">
<item>Chengdu</item>
<item>Beijing</item>
<item>Tianjin</item>
<item>Suzhou</item>
<item>Shanghai</item>
</array>
</resources>
b、通过适配器绑定要提示的资源
multiAutoCompleteTextView = findViewById(R.id.MultiAutoCompleteTextView);
ArrayAdapter arrayAdapter = ArrayAdapter.createFromResource(this, R.array.city_name, R.layout.support_simple_spinner_dropdown_item);
multiAutoCompleteTextView.setAdapter(arrayAdapter);
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
本文地址:https://blog.csdn.net/m0_46211029/article/details/108867799