Android-布局相关难点特性讲解
16lz
2021-12-23
[Android RelativeLayout 属性]
// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;android:layout_below 将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐; android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;// 相对于父组件android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;// 居中android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;android:layout_centerVertical 如果为true,将该控件的置于垂直居中;android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;// 指定移动像素android:layout_marginTop 上偏移的值;android:layout_marginBottom 下偏移的值;android:layout_marginLeft 左偏移的值;android:layout_marginRight 右偏移的值;
一直比较常用的就是这两个布局,我最畏惧的也是也布局,所以这几天我好好整理了一下怎么熟练使用这两个布局。
比如下面这个是最常用的布局。或许高手一下子就写出来了。那怎么写呢?
看到这个布局,你首先想到这是一个ListView或者RecyclerView,然后是一个item的布局,就是我们看到一列一列的布局,tiem理有一张图片和文字。
item.jpg
<?xml version="1.0" encoding="utf-8"?>
这代码放上去看上去很简单,不知道大家看到有没有
LinearLayout里面有一个属性android:layout_weight比较重要
先上代码:
weight.jpg 三个权重的比值是1:1:1,而layout_width的为0dp;那么宽度就按1:1:1比例划分。
Android中SP与DP的区别
- 长度宽度的数值要使用dp作为单位放入dimens.xml文件中
- 字体大小的数值要使用sp作为单位,也放入dimens.xml文件中
sp.jpg Paste_Image.png 改变字体后显示效果上述
- sp除了受屏幕密度影响外,还受到用户的字体大小影响
- 通常情况下,建议使用sp来跟随用户字体大小设置
Android中使用ViewStub
ViewStub是什么
- ViewStub是View的子类
- 它不可见,大小为0
- 用来延迟加载布局资源
<?xml version="1.0" encoding="utf-8"?> activity_test.xml<?xml version="1.0" encoding="utf-8"?> ViewStub myViewStub = (ViewStub)findViewById(R.id.myViewStub); if (myViewStub != null) { myViewStub.inflate(); //或者是下面的形式加载 //myViewStub.setVisibility(View.VISIBLE); }
关于ViewStub的事
- 除了inflate方法外,我们还可以调用setVisibility()方法加载布局文件
- 一旦加载布局完成后,ViewStub会从当前布局层级中删除
- android:id指定ViewStub ID,用于查找ViewStub进行延迟加载
- android:layout延迟加载布局的资源id
- android:inflatedId加载的布局被重写的id,这里为RelativeLayout的id
- ViewStub不支持
标签.但是可以
<?xml version="1.0" encoding="utf-8"?> merge_layout.xml 这样是可以的
Android中的减少视图层级
更多相关文章
- android隐藏以及显示软键盘
- 如何设置Android的AVD模拟器可以输入中文
- 改善android性能工具篇【zipalign】
- android 自定义控件(FloatLabelLayout)
- Android自定义控件
- Android(安卓)APP修改全局字体
- android中隐藏以及显示软键盘代码
- Android播放循环播放本地图片
- Android史上功能最全的日历控件