调整平板电脑上的文字大小

时间:2013-05-23 15:51:24

标签: android android-layout

使用weight我的布局在每个屏幕尺寸和密度上都非常完美。每个视图都完美缩放。 不幸的是,字符大小仍然存在很大问题:无论我使用sp还是dp定义文本大小,它仍然会根据密度而不是屏幕大小调整大小,因此在平板电脑上文字是微小的!

这个问题的最佳解决方案是什么?

  • 我应该为平板电脑定义不同的布局吗?在那种情况下,我该怎么做?
  • 有没有办法自动调整文本大小,xml或代码(我不关心哪一个,如果有效)?

非常感谢。

3 个答案:

答案 0 :(得分:5)

您可以为不同的屏幕尺寸限定符smallnormallargexlarge以及一堆新的sw<N>dp创建单独的样式,{{ 1}},h<N>dp

Supporting Multiple Screens

答案 1 :(得分:1)

解决方案1 ​​

针对不同的屏幕尺寸使用不同的布局

解决方案2

使用customView并动态更改文本大小。例如

    public class CustomView extends TextView{
         ....................

        @Override
        protected void onDraw(Canvas canvas) {

                 calculate the view size and change the text size

        }

    }

<强>更新

要测量您可以使用的尺寸

        float size = getHeight() * .8; // getheight will return view's height
        setTextSize(TypedValue.COMPLEX_UNIT_PX, size);

答案 2 :(得分:0)

您可以使用需要在values文件夹中创建的dimens.xml,并将值文件夹创建为值 - 大值 - 小值 - xlarge等.....