背景:目前安卓设备层出不穷,各种屏幕尺寸和各种奇葩分辨率,导致我们的app在这些设备上画面不能统一甚至重合错位等等。下面纪录下常用到的一些适配技巧。
在进行适配之前,我们需要先获取屏幕的宽高:
DisplayMetrics display = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(display);
Common.mScreenWidth = display.widthPixels;
Common.mScreenHeight = display.heightPixels;得到的宽高放入Common中,以便其他类使用。
一、字体大小的适配
字体我们往往使用sp来设置大小,可以通过以下代码进行适配:
mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, Common.mScreenHeight / 35);其中35是调整的比例
二、不用屏幕密度下dp的适配
布局文件中,我们多使用dp来设置距离,可以通过以下代码转换:
LayoutParams mLayoutParams = (LayoutParams) mTextView.getLayoutParams();
mLayoutParams.topMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 10, getResources().getDisplayMetrics());其中10是原本的dp值
三、布局中的适配
布局中,尽量使用比重来控制控件位置,并且使用Space控件代替Margin、Padding等属性。
四、布局中横线的设置
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/gray">
</RelativeLayout>
本文介绍了安卓应用在面对不同屏幕尺寸和密度时的适配技巧,包括使用sp进行字体大小适配,通过代码转换实现dp的适配,利用权重布局以及设置横线的方法,确保应用在多种设备上显示一致。

615

被折叠的 条评论
为什么被折叠?



