控件View
View的基本属性
View是Android的基本视图,所有控件和布局都是View类的子类直接或间接派生而来的
View一般会放在ViewGroup中
View在xml文件中的常用属性
- id:视图的编号 string
- layout_width:宽度
| 值 | 含义 |
|---|---|
| dp数值 | 具体数值 |
| match_parent | 与上级试图一样宽 |
| warp_content | 与内部试图一样宽,如果超过上级视图按上级视图宽度,超出部分滚动 |
- layout_height:高度,取值说明同上
- layout_margin:指定该视图与周围视图之间的空白距离,另有layout_marginTop,layout_marginBottom,layout_marginLeft,layout_marginRight分别表示上下左右宽度
- minWIdth:该视图最小宽度
- minHeight:该视图最小高度
- background:背景颜色,可以是图片或颜色
- layout_gravity:该视图与上级视图的对齐方式,若同时适用多种对齐方式,则用 | 连接起来
| XML中的对齐方式 | Gravity类中的对齐方式 | 说明 |
|---|---|---|
| left | LEFT | 靠左对齐 |
| right | RIGHT | 靠右对齐 |
| top | TOP | 向上对齐 |
| bottom | BOTTOM | 向下对齐 |
| center | CENTER | 居中对齐 |
| center_horizontal | CENTER_HORIZONTAL | 水平方向剧中 |
| center_vertical | CENTER_VERTICAL | 垂直方向居中 |
- padding:指定该视图边缘与内部之间的空白距离。另有paddingTOP,paddingBOTTOM,paddingLEFT,paddingRIGHT指定上下左右的间距
- visibility:指定视图的可见类型
| XML中的可视类型 | Gravity类中的可视类型 | 说明 |
|---|---|---|
| visible | VISIBLE | 可见,默认值 |
| invisible | INVISIBLE | 不可见。虽然看不到但占据空间 |
| gone | GONE | 消失。不可见且不占据空间 |
注:padding与margin的区别
padding是到里层距离
margin是到外层距离
视图在JAVA代码中常用的设置方法
setLayoutParams(ViewGroup.LayoutParams params):设置该视图的布局参数
参考资料:
Android开发:LayoutParams的用法
LayoutParams相当于一个Layout的信息包,封装了长宽高等信息。
LayoutParams类只是简单的描述了宽高,宽和高都可以设置成三种值:
1,一个确定的值;
2,FILL_PARENT,即填满(和父容器一样大小);
3,WRAP_CONTENT,即包裹住组件就好。
这个函数是子对父的,即子控件中要加setLayoutParams
注意,这个函数的参数必须是父控件!!!
常用写法:
1.使用new创建一个新的LayoutParams对象作为参数(动态大小)
基本语法为:
setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
依据父控件的类型加限制
例子如下:
XML文件
<LinearLayout
android:id="@+id/LinearInside"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:background="@android:color/holo_blue_bright">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="44dp"
android:layout_weight="1"
android:text="TextView" />
</LinearLayout>
JAVA文件
TextView tv3 = findViewById(R.id.textView3);
tv3.setLayoutParams(new LinearLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
上面的XML文件中TextView在LinearLayout下,则setLayoutParams函数中参数为
new LinearLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT)
WARP_CONTENT同理
2.使用父控件的LayoutParams作为参数(动态大小)
xml文件同1
JAVA
LinearLayout LinearL = findViewById(R.id.LinearInside);
TextView tv3 = findViewById(R.id.textView3);
tv3.setLayoutParams(LinearL);
如上,直接使用父控件的LayoutParams做参数
3.使用固定数值(固定大小)
xml文件同1
JAVA
TextView tv3 = findViewById(R.id.textView3);
tv3.setLayoutParams(new LinearLayout.LayoutParams(40,40));
另外,使用LayoutParams.setMargin可以设置到父控件的边界距离
如下
xml文件:
<LinearLayout
android:id="@+id/Linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@android:color/holo_blue_light">
<LinearLayout
android:id="@+id/LinearInside"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/holo_blue_bright"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
JAVA文件:
LinearLayout linearInside = findViewById(R.id.LinearInside);
LinearLayout.LayoutParams LIP = (LinearLayout.LayoutParams)linearInside.getLayoutParams();
LIP.setMargins(80,80,80,80);
请忽略小红点和send按钮>=<

- setMinimumWidth
设置该视图的最小宽度 - setMinimumHeight
设置该视图的最小高度 - setBackgroundColor
设置该视图的背景颜色 - setBackgroundDrawable
设置该视图的背景图片 - setBackgroundResource
设置该视图的背景资源id - setPadding
设置该视图边缘于子视图之间的空白距离 - setBackgroundDrawable
设置该视图的背景图片 - setBackgroundResource
设置该视图背景资源的id - setVisbility
设置该视图的可视类型,具体内容如下表
| XML中的可视类型 | Gravity类中的可视类型 | 说明 |
|---|---|---|
| visible | VISIBLE | 可见,默认值 |
| invisible | INVISIBLE | 不可见。虽然看不到但占据空间 |
| gone | GONE | 消失。不可见且不占据空间 |
这篇博客详细介绍了Android中View的基本属性,包括在XML文件中的常用属性,如id、width、height、margin和padding等,并探讨了在Java代码中如何通过setLayoutParams设置视图的布局参数。同时,讲解了LayoutParams的三种设置方式,以及如何设置View的最小尺寸、背景颜色和可见性。
1663

被折叠的 条评论
为什么被折叠?



