Android TextView Gravity - 空白

时间:2014-08-20 02:06:11

标签: android

这是一个非常奇怪的问题,所以我很感激任何反馈。

我们正在开发适用于Android的DataGrid组件:http://www.androidjetpack.com/Home/AndroidDataGrid

我们正在观察Android TextView的一种非常特殊的行为。基本上,默认的重力是左:

TextView tv = (TextView) _renderer;
if (UIUtils.nullOrEmpty(getTextAlign())) {
  tv.setGravity(Gravity.LEFT);
} else {
  String textAlign2 = getTextAlign();
  int gravity = textAlign2.equals("left") ? Gravity.LEFT
      : textAlign2.equals("right") ? Gravity.RIGHT
      : textAlign2.equals("center") ? Gravity.CENTER
      : Integer.parseInt(textAlign2);
  tv.setGravity(gravity);
}

正如您在上面所看到的,相当简单的代码,设置文本视图的重力。

奇怪的是,对于默认绘制的单元格,textview正确对齐:

enter image description here

但是当我添加新行时,带有重心的textview会导致textview为空白 enter image description here

当我执行任何刷新屏幕的操作时(如重新绘制单元格),textview会再次出现。

enter image description here

任何人都有丝毫的线索,为什么textview会这样做?

1 个答案:

答案 0 :(得分:1)

好的,听起来很奇怪,调用tv.measure(width,height)可以修复它。我们有自己的布局(基于默认的Android布局),这可能与它有关。只是在这里发布这个答案,以防其他人也碰到这个。