字体大小sp的适配、不同屏幕密度下dp的适配、布局的适配以及横线的设置

背景:目前安卓设备层出不穷,各种屏幕尺寸和各种奇葩分辨率,导致我们的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等属性。


四、布局中横线的设置

        
        

你可能感兴趣的:(Android)