px:像素,即屏幕中可以显示的最小元素单元
pt:磅数,1磅=1/72英寸,一般pt都会作为字体的单位来使用
因为安卓设备的分辨率的不同,不能把程序UI做的漂亮。如一个 200px 宽的按钮在低分辨率的手机上可能将近占据满屏, 而到了高分辨率的手机上可能只
占据屏幕的一半。
在安卓系统中使用dp与sp
dp:密度,也被成为dip, 他在不通密度的屏幕中的显示比例保持一致。
sp:是可伸缩像素的意思,为解决文字大小设配问题。
获得当前屏幕的分辨率:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
Log.d("MainActivity", "xdpi is " + xdpi);
Log.d("MainActivity", "ydpi is " + ydpi);
}
}
在xml文件表示,密度,按钮为例
<Button
android:id="@+id/button"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="Button"
/>