我正在构建一个需要在所有屏幕尺寸上看起来都很好的Android应用程序。我已经设法根据分辨率使用不同的可绘制资源文件夹来缩放drawables,但是如何使用纯文本实现相同的目标呢?
我真的需要使用不同的布局文件夹来实现这一目标吗?
感谢您的帮助!
答案 0 :(得分:5)
使用sp
表示文字大小,你应该没问题。
<强>属强>
与比例无关的像素 - 这就像dp单位,但它也是 按用户的字体大小首选项缩放。建议你使用 指定字体大小时,此单位将进行调整 屏幕密度和用户偏好。
dp
/ dip
也可以使用,但不包括用户字体首选项。
答案 1 :(得分:0)
如果仅用于textview。在xml中的textview中声明大小ad dp。 dp是与屏幕分辨率相关的desipixels,文本视图大小也相应调整。
答案 2 :(得分:0)
我使用了自己编写的方法..适用于两个显示器(1024x720,800x480),希望它也适用于你的
班级:
//this is a seperated class, for button textsize
//declaration of standardvalues
public class Fontstyles {
static int INT_standardwidth = 1024, INT_standardsize = 50; //do not change
public static double BTN_TXT_size(Button BTN_X) {
Point size = new Point();
YourMainActivity.DIS_main.getSize(size);
int INT_width = size.x;
if (BTN_X.getText().length() == 0)
return 0;
// width of display (INT_width)
// width standartvalue (INT_standardwidth)
// standardfontsize (INT_standardsize)
return ((float) ((INT_width * 100 / INT_standardwidth)
* (INT_standardsize * (INT_width * 100 / INT_standardwidth) / 100) / 100));
}}
这是在YourMainAvtivity:
public static Display DIS_main;
DIS_main = getWindowManager().getDefaultDisplay();
这是用于调用sizecalculation(无论你想要的地方):
YourButton.setTextSize((float) Fontstyles.BTN_TXT_size_(YourButton));
适用于TextViews
和Button
。
使用后请回复并告诉我这是否适用于您的显示器。