【问题标题】:Resize text on tablets调整平板电脑上的文本大小
【发布时间】:2013-05-23 15:51:24
【问题描述】:

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

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

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

非常感谢。

【问题讨论】:

标签: android android-layout


【解决方案1】:

您可以为不同的屏幕尺寸限定符smallnormallargexlarge 和一堆新的sw<N>dph<N>dpw<N>dp 创建单独的样式

Supporting Multiple Screens

【讨论】:

  • 第二个h<N>dp不应该是w<N>dp吗?
  • 这可能是最好的答案,但是 - 总而言之 - 让具体成为我最糟糕的噩梦:)
【解决方案2】:

解决方案 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);

【讨论】:

  • 谢谢大神,但问题依然存在:如何计算文本大小以匹配视图大小?
  • 等等..试图给出一个基本的想法..(不准确,你可能会弄明白)
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多