android控件相对位置及长度单位

首先讲讲界面布局中的几位置设置参数区别,从下面一个简单的图形来做年对比,A代表我们布局页面中一个ViewGroup,比如是LinearLayout,B代码一个View,比如是Button.


android:layout_gravity:此控件相对父控件的相对位置(B相对于A的位置)

android:gravity:此控件中的内容相对此控件的相对位置(B中的文字"TextView"在B中的位置)

padding:控件中的文字距离本身控件边框的距离(B中的文字"TextView"在B中离B的边框位置)

margin:控件整体距离相对另外一个控件的距离(B离A中其它View的位置)

布局中控件大小的合适参数选择:

px(像素):屏幕上的点, 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。

dip:与dp相同,多用于android/ophone示例中。建议使用这个(与像素无关)

sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。

为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,将dip作为其他元素的单位。

常用方法:

 DisplayMetrics dm = new DisplayMetrics();  

  activity.getWindowManager().getDefaultDisplay().getMetrics(dm);  

  density = dm.density;  //密度

  densityDpi = dm.densityDpi;//获得设备每英寸多少像素

/**  
 * dip转化为像素px
 */    
  public static int getPx(int dip) {    
    return (int) (dip * density);    
    // return (int)(dip*(densityDpi/160));     
  }    
   
/**  
 * px像素转化为dip   
 */    
 public static int getDip(int px) {    
    return (int) (px / density);    
    // return (int)((px*160)/densityDpi);      }    

公式:dip=(1px*160)/Dpi;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值