屏幕适配

 
常用的解决方法:
1、java代码中设置宽高度
首先我们要做的是获取当前屏幕的宽高度,因为这个在后面要用到 我们可以写两个静态变量用来保存当前屏幕的宽高度:
  1. public class Constant{
       public static int displayWidth;//屏幕宽度
       public static int displayHeight;//屏幕高度 }
然后在第一个Activity启动的时候,获取这两个值
  1. DisplayMetrics displayMetrics =newDisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    Constant.displayWidth = displayMetrics.widthPixels;
    Constant.displayHeight = displayMetrics.heightPixels;
布局代码我们可以全都统一写成wrap-content,其实写成什么都无所谓,因为这个值只是暂时的。
最后我们在Activity的onCreate方法里这么做
  1. // 第一个按钮,宽度100%,高度10%
    LinearLayout.LayoutParams params =newLinearLayout.LayoutParams(LayoutParams.FILL_PARENT,(int)(Constant.displayHeight *0.1f+0.5f));
    btn1.setLayoutParams(params);
    // 第二个按钮,宽度100%,高度30%
    LinearLayout.LayoutParams params2 =newLinearLayout.LayoutParams(LayoutParams.FILL_PARENT,(int)(Constant.displayHeight *0.3f+0.5f));
    btn2.setLayoutParams(params2);
    // 第三个按钮,宽度50%,高度20%
    LinearLayout.LayoutParams params3 =newLinearLayout.LayoutParams((int)(Constant.displayWidth *0.5f+0.5f),(int)(Constant.displayHeight *0.2f+0.5f)); btn3.setLayoutParams(params3);
    // 第三个按钮,宽度70%,高度填满剩下的空间
    LinearLayout.LayoutParams params4 =newLinearLayout.LayoutParams((int)(Constant.displayWidth *0.7f+0.5f),LayoutParams.FILL_PARENT); 
    btn4.setLayoutParams(params4);

     

2、自定义尺寸法



 
3、写多布局
为不同的尺寸界面单独写布局

写多个布局的时候,配置文件一定要加上这段配置代码,不然有时可能会出问题 
<supports-screens 
 android:largeScreens="true"
 android:normalScreens="true" 
 android:anyDensity="true" />
4.weight设置
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

posted @ 2015-07-17 18:22  咖啡馆的水果拼盘  阅读(195)  评论(0)    收藏  举报