美文网首页
屏幕适配

屏幕适配

作者: 盗梦如画 | 来源:发表于2017-05-21 20:00 被阅读22次

    屏幕适配:有几种方式啦(五种)

    ​ 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);
        }
    

    相关文章

      网友评论

          本文标题:屏幕适配

          本文链接:https://www.haomeiwen.com/subject/fzjvxxtx.html