【问题标题】:Setting the alignment of dynamic values in a layout设置布局中动态值的对齐方式
【发布时间】:2013-06-15 22:31:54
【问题描述】:

考虑具有以下 textview 布局的 xml 文件:

我正在尝试设置我的这个文本视图的对齐方式,它的值是动态变化的,应该是:

一:24

二:6000

布局的问题是这样的:

如何正确对齐?

我的 xml 为 One:Two: 文本视图设置了 visibility:gone。然后在我的java文件中,我这样做:

one.setText("One:"+entries.get("one"));
two.setText("Two:"+entries.get("two"));

if(entries.get("type").equals("OneType"))
{
one.setVisibility(View.VISIBLE);
two.setVisibility(View.GONE);
}
else
{
 one.setVisibility(View.VISIBLE);
 two.setVisibility(View.VISIBLE);
}

更新:

xml文件相关代码:

<LinearLayout
android:id="@+id/passedlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical"
>


<TextView
android:id="@+id/one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="25dp"
android:visibility="gone"
android:textColor="#000000"
android:textStyle="bold"/>

<TextView
android:id="@+id/two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="25dp"
android:visibility="gone"
android:textColor="#000000"
android:textStyle="bold"/>
</LinearLayout>

更新:

对于一个布局,我有多个这样的行。将重力设置为左侧适用于单一布局。 但是,对于多于一排具有不同数字的行,布局再次受到干扰 像这样-

布局1:

一:24

二:6000

布局2:

     一:0

     二:0

您看到Layout1 中的 One:Two:One:Two: 不一致Layout2 的强>。

【问题讨论】:

  • 你说的是对齐一字二字吗?
  • 技巧将在您的布局中,所以也发布它!

标签: android textview text-alignment


【解决方案1】:

改变

android:gravity="right"

android:gravity="left"

LinearLayout 中,ID 为passedlayout

【讨论】:

  • 这适用于单一布局。但我有多个这样的布局。因此,如果一个布局具有单个数字值,而其下方的另一个布局具有两个或多个数字值,则对齐再次失败。
  • Layout1 和 Layout2 哪个有问题?
  • 再次仔细查看更新。我只有一个布局,它在循环中重复,这样对于不同的行:row1、row2、row3 等。
  • 所以简单的解决方案是为您的布局设置默认宽度,如果您想要更完美,您可以计算文本的最高宽度并将其应用于所有视图!
  • ya 设置 android:layout_weight 也更可取,具体取决于您的线性布局的父视图,但请确保在所有设备上对其进行测试,以确保它不会遗漏您的长数字!
猜你喜欢
  • 2017-03-14
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 2013-11-23
  • 2021-05-28
  • 2013-04-18
相关资源
最近更新 更多