一、在代码中做单个控件的适配
LayoutParams二种形式:
DisplayMetrics dm =new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
1. imgWidth= dm.widthPixels / 4;
LayoutParams params = new LayoutParams(imgWidth, imgheight);
view.setLayoutParams(params);
2. RelativeLayout relativeLayout1 = (RelativeLayout) view
.findViewById(R.id.relativeLayout1);
RelativeLayout.LayoutParams layoutParams = (LayoutParams) relativeLayout1.getLayoutParams();
float indicatorWidth = dm.widthPixels / 6;
layoutParams.width = (int) (indicatorWidth * 5);
relativeLayout1.setLayoutParams(<span style="font-family: Arial, Helvetica, sans-serif;">layoutParams</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>
二、在Xml配置文件中
使用layout_weight属性。
很多时候大家可能发现布局xml文件中有一个layout_weight属性,是的不是layout_height也不是layout_width,那么layout_weight是什么呢? 它的定义是一个比重。比如在一个LinearLayout中,有三个TextView控件,如果第一个设置layout_height为1,第二个为1,最后一个为2,这时候这三个TextView控件的大小为 1:1:2 。在Android开发中我们可能经常用到这个属性来排列一些控件。<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#aa0000"
android:gravity="center"
android:text="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#00aa00"
android:gravity="center"
android:text="2"/>
</LinearLayout>
效果如下:
三、自定义尺寸
在res目录下建立不同分辨率的dimens文件,这个方法相对来说比较麻烦。但效果很好。如下图:
四、
尽量采用在目前最流行的屏幕尺寸(比如目前占屏幕比重比较多的是
480*800,960*640,720*1280,1080*1800
)上设计。
先了解一下屏幕的级别: