Android基础之UI布局和参数

博客出自:刘兆贤的博客_CSDN博客-Java高级,Android旅行,Android基础领域博主,转载注明出处! All Rights Redserved !  

屏幕尺寸:小、中、大、超大
屏幕密度:每inch里像素个数。120dpi、160dpi、240dpi(h)、320dpi、480dpi、640dpi(xxx)、960dpi
屏幕分辨率:屏幕尺寸X屏幕密度,满屏像素总个数
android:layout_gravity与android:gravity:

举例子说明吧。比如说button,

android:layout_gravity 表示按钮在界面上的位置。

android:gravity表示button上的字在button上的位置

Android中左边和右边分别保留多少空白:

使用anroid:layout_marginLeft,android:layout_marginRight:   用dip或者px作为单位 如30dip

什么叫dpi:Dots Per Inch 指一英寸的屏幕可以放多少个像素,高分辨率的清晰度原因即在于此。

dimension单位:

代码中数字单位是像素

px:pixels, 是屏幕的像素点。

in:inches, 英寸。

mm:milimeter,毫米。

pt:point,1/72 英寸。

dp:density,一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px,320则为2px。

dip:等同于dp 。一般定义组件的宽高

sp:: scaled  pixed  同dp相似,但还会根据用户的字体大小偏好来缩放。

建议使用sp作为文本的单位,其它用dip。布局时尽量使用单位dip,少使用px。         

一般情况下手机的分辨率都是长*宽,得出多少个像素,相对而言是分辨率越高,屏幕越小则越清晰,因为单位面积即

inch内像素多了。           

Android下的几图布局文件的使用Layout

LinearLayout:可水平或者纵向排列控件 注意要写orientation属性,先前的API默认是horizonal,现在必须写

TableLayout:提供tablerow,里面有多个cell;一个布局文件可以有多个tablerow,strech指定哪行或哪列,哪行理论上则会变宽,它的原理是其他控件先划分区域,分完,由这几行或列来霸占

RelativeLayout:相对布局,可上下左右对齐

AbsoluteLayout:绝对布局,限制控件,绝对位置

Frame layout:每一行显示一个图标。如果两个图标在一起的话,图标会overlap. 当图标之间发生overlap的时候,就会以overlap的形式布局。一般写浮层可以用,而且最原始的布局也是它,用它做子布局一般加载速度会快,因为默认会把它当成一个结点。

FrameLayout有这样一个用处:就是界面元素若需要通过程序控制其可见性,可以使用FrameLayout.使用Android:visibility 属性,它有三个值visible - 显示;invisible -不可见,但是依然占据位置;gone - 不可见,并不占据位置。

ViewStub,默认只占位,但不初始化,只有执行inflate方法才会显示在页面上。

其他:                       

一万小时Android躲过的“坑--Android视频教程-移动开发-CSDN程序员研修院

 

设置参数

TaskAffinity:将组件放在相同的栈内,应用于standard和singleTop,不能应用于singleTask和singleInstance,因为它们本身就要求位于栈根。

AlwaysRetainTaskSatae:总是保持activity的状态,一般30分钟内无操作,系统就会将其清除,默认为false

drawable介绍:https://developer.android.com/guide/topics/resources/providing-resources.html

drawable文件夹和mipmap文件夹放图片的区别:

mipmap放的图片,会被自动缩放,如64*64的图片,遇到20*20分辨率的手机,会自动切割使用16*16的图片,减小应用运行的内存;遇到128*128的图片,也会被拉伸,所以放xx的图,同时也放xxx的图。

google建议把应用logo放在mipmap里,防止图片被拉伸而产生模糊。

总之,mipmap需要消耗CPU去操作切割,但会降低GPU去渲染,也减小应用运行内存,因此需要谨慎使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘兆贤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值