为不同分辨率的手机创建界面

1,首先进入res 文件夹下。

2,创建一个名为“layout-1024x768”文件夹,

其中1024x768 是屏幕分辨率的大小,值得注意的是分辨率中大的数字必须写到前面,否

则会产生语法错误。如layout-768x1024 的写法是错误的。

3,编写main.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView android:layout_width="fill_parent"

android:layout_height="wrap_content" android:text="@string/hello" />

<TextView android:layout_width="fill_parent" android:id="@+id/tv"

android:layout_height="wrap_content" android:text="1024x768" />

</LinearLayout>

4,在按照上述创建layout-1280x800分辨率的文件夹,main.xml直接拷贝。

5,分别创建1024x768和1280x800的模拟器:

6,注意在AndroidManifest.xml中添加     <supports-screens android:largeScreens="true"

android:anyDensity="true" />否则,你的应用不会全屏。

详细见例子helloword。

7,最后,默认layout,不要删掉,如果指定分辨率不存在的时候,会默认调用layout中布局文件。如果删除,则报错。  

字体自适应大小

方法1:

首先根据不同分辨率获取不同字体大小。 
在RES里创建
values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
和 
values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen>

分别代表480X320 和 800X400分辨率情况下 字号为30px和40px;

在java文件中这样调用

int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);

方法2:

在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率rate = (float) w/320   w是实际宽度
然后在设置字体尺寸时 paint.setTextSize((int)(8*rate));   8是在分辨率宽为320 下需要设置的字体大小实际字体大小 = 默认字体大小 x  rate

 

举例2:

在android开发的过程中,不同分辨率的兼容问题是经常遇到的.

如下,

在PAD应用开发的过程中,在PC上模拟器上运行的只是小分辨率的程序,

而对于大小如同1027*768的,可能支持上不是很完美.

 

除了把图片,布局文件放入不同的文夹中,如(drawable-mdpi, drawable-ldpi, layout-land.....)

对大屏幕的支持还需要以下配置:

 <supports-screens android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"] />

将以上的配置信息添加到AndroidManifest.xml的<manifest>...</manifest>中.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值