在Android应用开发过程中,我们无可避免的会碰到屏幕适配问题,以下是我的一些理解。我们通常会忽略像素造成的影响,而只考虑物理尺寸造成的影响。
大致有四种方式:
1. 根据不同尺寸的手机编写适配不同手机的布局,想来大家都不会喜欢这种方式。
2. 使用LinearLayout布局可以避免这种问题,它的weight属性很重要。
3. 编写多套的values
在编写时可以values-480x320为基准。无论何种尺寸屏幕。宽度平均分为320份,高度平均分为480份,例如:
values-480x320
<dimen name="x160">160dp</dimen>
<dimen name="y240">240dp</dimen>
values-800x480
<dimen name="x160">240dp</dimen>
<dimen name="y240">400dp</dimen>
布局中引用
android:layout_width="@dimen/x160"
android:layout_height="@dimen/x240"
但这样一来我们需要多套的values值,可能会有些麻烦,但这些可以多次使用。可通过他人编写出来代码,可values的自动编写。
4. Java代码方式也可以解决这个问题
4.1) 写两个静态变量用来保存当前屏幕的宽高度
4.2)在第一个Activity启动的时候,获取这两个值
4.3) 布局代码中设置width,height,可随意设置
4.4) 在activity的onCreate()方法中得到布局参数进行设置
详细代码在下面文章中很清楚,不再在此处显示。
references ##
http://blog.csdn.net/buaaroid/article/details/51536479
http://blog.csdn.net/buaaroid/article/details/51536603