[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

标签最大的优点是当你需要时才会加载,使用他并不会影响UI初始化时的性能。各种不常用的布局想进度条、显示错误消息等可以使用标签,以减少内存使用量,加快渲染速度。是一个不可见的,大小为0的View。
ViewStub是什么

  • ViewStub是View的子类
  • 它不可见,大小为0
  • 用来延迟加载布局资源
<?xml version="1.0" encoding="utf-8"?>    

关于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中的减少视图层级
标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。多用于替换FrameLayout或者当一个布局包含另一个时,标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用标签优化。

更多相关文章

  1. android隐藏以及显示软键盘
  2. 如何设置Android的AVD模拟器可以输入中文
  3. 改善android性能工具篇【zipalign】
  4. android 自定义控件(FloatLabelLayout)
  5. Android自定义控件
  6. Android(安卓)APP修改全局字体
  7. android中隐藏以及显示软键盘代码
  8. Android播放循环播放本地图片
  9. Android史上功能最全的日历控件

随机推荐

  1. 浅谈Android中的 Fragment、生命周期回调
  2. android ProgressBar 自定义进度条颜色
  3. [Android 编译(一)] Ubuntu 16.04 LTS 成
  4. Android基础考试知识点清单
  5. Android 开发之 Shape 篇
  6. Android 开发环境配置 之后(释放你的C盘)
  7. Android 应用 Application 用法 ;
  8. android的各个版本和logo
  9. Android Opencv 之 Android Studio 进行
  10. Android串口通信apk源码详解(附完整源码)