您的位置:首页 > 移动开发 > Android开发

android不同分辨率屏幕横向固定适配

2017-05-18 14:57 225 查看
android手机有不同的分辨率做起适配非常麻烦。有一种方案是把横向宽度规定为一个特定宽度,以它为基准算纵向高度。使用效果比较好,在适配长度上,和文字大小上都可以使用。
生成不同分辨率手机对应适配文件java代码为:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class test {
public static void main(String[] args){
int width = 640;//屏幕宽度
float defaultWidth = 640f;
float singleDp = width / defaultWidth;
File file = new File("D://"+width+"size.txt");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
byte[] data = null;
for (int i = 1; i <= defaultWidth; i++) {
int DpToPx =(int) (singleDp * i + 0.5f) ;
System.out.println(DpToPx + "===>" + i);
String dataString = "<dimen name=\"w"+i+"dp"+"\">"+DpToPx+"px</dimen>\r\n";
data = dataString.getBytes();
fos.write(data, 0, data.length);
}
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}
}

使用的时候,直接使用@dimen/w??dp ??为具体数字,这里需要注意在美工设计图的时候,将效果图宽度和你定的基准宽度保持一致。我们这里采用的是640,应为对于320/480/1080这些都好整除。

对应values资源下载地址:
http://pan.baidu.com/s/1kUY9h3p
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息