这段时间在开发Android数据恢复界面时候,因为界面方面有时候的一些小细节足够你花上一个上午的时间去纠结,针对界面设计方面的一些细节做了一个总结:
1.在android的开发中,默认文字用sp而不用dp:因为sp会跟随用户的系统字体设置而改变文字的大小, dp不会,但是dp会更加和谐不会导致文字过大。但是有时候处于一些方面,感觉用了sp反而会让界面布局需要考虑的情况多点。不过google官方文档是规定要sp。
2.Relativelayout的一些重要属性:RelativeLayout用到的一些重要的属性:
第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物
第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
3.ImageView水平居中显示的前提是: LinearLayout设置android:gravity="center"。这个居中问题有时候挺蛋疼,因为需要设置好父元素的居中情况下,子元素的居中效果才会显示。
4.Android:layout_gravity和android:gravity的使用区别:
android:gravity:这个是针对控件里的元素来说的,用来控制元素在该 控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,
android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部。
android:layout_gravity:
这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity="left"属性 时,表示该Button按钮将位于界面的左部。
5. android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!
6.在不同的手机屏幕下需要根据手机屏幕的分辨率的大小不同,把素材图片做出多个分辨率的版本然后放在项目相对应的:mdpi,hdpi,xhdpi,xxhdpi文件夹中,不然在高分辨率或者低分辨率的手机中去加载相反的分辨率图片,会导致程序界面加载时候出现卡顿情况