【问题标题】:Android textsizes different screensAndroid textsizes 不同的屏幕
【发布时间】:2013-07-04 21:51:29
【问题描述】:

我正在构建一个需要在所有屏幕尺寸上看起来都不错的 Android 应用程序。我已经设法根据分辨率使用不同的可绘制资源文件夹来缩放可绘制对象,但是如何使用纯文本实现相同的效果?

我真的需要使用不同的布局文件夹来实现这一点吗?

感谢您的帮助!

【问题讨论】:

  • 在 dip 中设置文本大小而不是 px。
  • 文本大小应使用 sip,而所有其他大小使用 dip。

标签: android text scale


【解决方案1】:

sp 用于文本大小,应该没问题。

sp

Scale-independent Pixels - 这就像 dp 单位,但它也是 按用户的字体大小偏好缩放。建议您使用 这个单位在指定字体大小时,因此它们将被调整为 屏幕密度和用户偏好。

来自Dimensions

dp/dip 也可以,但不包括用户的字体偏好。

【讨论】:

  • 谢谢,我早些时候尝试过这种方法,但突然它停止工作,因此我的问题:)
【解决方案2】:

如果它仅用于文本视图。在 xml 中的 textview 中声明尺寸 ad dp。 dp 是 desipixels,与屏幕分辨率有关,textview 的大小也会相应调整。

【讨论】:

    【解决方案3】:

    为此我使用了自己编写的方法.. 适用于两个显示器(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();
    

    这是为了调用尺寸计算(无论你想从哪里):

    YourButton.setTextSize((float) Fontstyles.BTN_TXT_size_(YourButton));
    

    适用于 TextViewsButton

    使用后请回复并告诉我这是否适用于您的显示器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2019-06-17
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      相关资源
      最近更新 更多