【问题标题】:Gravity being ignored over a certain textsize在特定文本大小上忽略重力
【发布时间】:2012-03-18 22:50:05
【问题描述】:

我是否遗漏了什么,如果我只有一个标准的 TextView 并将其文本大小设置为设定的数字,那么使文本居中的重力停止工作,请参见下面的示例。

重力工作:

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:text="B"
    android:textSize="472sp" />


重力不工作

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:text="B"
    android:textSize="572sp" />

这发生在设备以及模拟器/预览版上。

【问题讨论】:

标签: android fonts textview gravity


【解决方案1】:

我猜想这是因为 TextView 的总大小(包括隐式填充(例如可能存在))只是比您的屏幕大,因此该字段被固定在顶部,而可见部分被强制向下显示在屏幕上。如果你把它放在更大的显示器上会发生什么?编辑:在 572sp 示例中,它在平板电脑的纵向模式下非常接近居中。

【讨论】:

  • 好吧。是的,把它放在 5 英寸上它再次居中。所以字母“B”周围的空间我猜那是字体的一部分?因为我的 textviews 填充是 0。
  • 您是否应用了自定义样式来删除父样式中可能存在的任何填充?
  • 我的猜测是字体本身没有内边距,但也许文本字段有。
  • 我把android:padding="0dip"贴在上面没有任何效果,左边/顶部仍然有那么大的差距。
  • 尝试了所有这些属性,但没有任何效果。我唯一能做的就是layout_margin="-20dip",但这个数字需要是动态的。这家伙认为目前最有意义的字体中有填充:stackoverflow.com/a/4769205/413127
猜你喜欢
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 2017-03-12
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多