在Java代码中创建控件的时候设置的高度默认单位为px,这样会使控件在不同的手机上显示出不同的效果,所以我们最好是按屏幕比例来设置控件的宽度和高度。
其实我的原理很简单:
首先在Activity启动时我们需要获得屏幕的宽度和高度;
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
displayheight = displayMetrics.heightPixels;//高度
displayWidth = displayMetrics.widthPixels;//宽度
然后获得需要设置宽和高的控件:
如我需要设置TextView的高度:就可以这样写
TextView text = new TextView();
text.setBackgroundColor(Color.red);
text.setText("高度");
text.setHeight(displayheight*0.1)//代表该text的高度占屏幕高度的十分之一
这样就会使你的控件在不同分辨率的手机自适应屏幕