屏幕適配

屏幕適配:有幾種方式啦(五種)

? 1:圖片適配

? 需要準備不同的圖片資源,系統根據屏幕尺寸自動加載圖片(drawable-xhdpi ...)

? 2:布局適配

? 需要適配對應屏幕的布局 創建新的布局文件 layout-800x480 把對應的布局加載進去

? 3:比重適配

? 設置權重比例設置 (實用于線性布局)

? 4:dimension適配

? 設置對應屏幕的dimens資源 dp sp values-800x480 下 dimens 資源

? 5:代碼適配

? 在代碼中獲取手機屏幕的寬高;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //獲取手機屏幕的寬度
    int widthPixels = getResources().getDisplayMetrics().widthPixels;//寬度
    int heightPixels = getResources().getDisplayMetrics().heightPixels;//高度

    float density = getResources().getDisplayMetrics().density;//密度
    int densityDpi = getResources().getDisplayMetrics().densityDpi;//像素密度

    Log.i(TAG,"widthPixels:"+widthPixels);
    Log.i(TAG,"heightPixels:"+heightPixels);
    Log.i(TAG,"density:"+density);
    Log.i(TAG,"densityDpi:"+densityDpi);


    LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
    RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ll.getLayoutParams();
    params.width = widthPixels/4;
    params.height = heightPixels;
    //設置布局參數
    ll.setLayoutParams(params);
}

?

px和dp的轉換

/**
 * 像素轉換的工具類
 */
public class Dp2PxUtils {
    //dp轉換成px
    public static int dp2px(Context context,int dp){
        return (int)(dp * context.getResources().getDisplayMetrics().density + 0.5);
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容