根据屏幕尺寸进行文本化

时间:2016-06-20 06:44:23

标签: android

  

如何根据屏幕大小设置文本视图中文本的大小,并根据屏幕的高度和宽度动态缩放,而不必根据android中的分辨率创建不同的文件夹。

提前致谢

2 个答案:

答案 0 :(得分:1)

此问题可帮助您获取屏幕尺寸(以像素为单位)。

https://stackoverflow.com/a/1016941/6286125

您可以根据自己的意愿进行一些基本的数学调整。

编辑: 由于我已经使用过DisplayMetrics,我会像这样使用它:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

int myTextSize = metrics.widthPixels / 10; 
textView.setTextSize(myTextSize);

然后您可以根据需要使用显示器的宽度或高度进行调整。

如果您未在活动中执行此操作,则需要先启动活动才能使用" getWindowManager()"。

我建议检查宽度或高度哪个更大,以便知道你是在肖像还是在风景中,并使你的数学适应这个参数:

int myWidth = metrics.widthPixels;
int myHeight = metrics.heightPixels;

if(myWidth > myHeight) { //Landscape
    myTextSize = myWidth / 10;
} else { //Portrait
    myTextSize = myHeight / 10;
}

答案 1 :(得分:0)

我建议您使用sp作为文本大小来支持多个屏幕。