TextView在应用重力样式时仅显示一个字符

Mik*_*e T 6 android android-layout

我有一个包含3行数字的表(摘要信息).TextViews使用默认重力设置样式时,文本显示正确.

在此输入图像描述

但是当它们被设置为样式时<item name="android:gravity">right</item>,每个TextView只显示它应该的第一个字符.

在此输入图像描述

这甚至包括列标题 - 这里没有显示 - 我甚至没有改变.

我希望表值正确对齐以与应用程序的其余部分保持一致,并且我难以理解为什么表中的值将表现得像这样.

这是我的风格(当它不起作用时):

<style name="summary_values">
    <item name="android:textSize">@dimen/font_size</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@color/background</item>
    <item name="android:gravity">right</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是其中一个单元格的XML(它们基本相同)

<TextView 
    android:id="@+id/value1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="@integer/table_weight_percent_value"
    style="@style/summary_values"/>
Run Code Online (Sandbox Code Playgroud)

编辑

即使gravity设置为left或,也会发生截断center.

编辑2

我已经<item name="android:gravity">right</item>完全从样式中删除了这一行,它有时会截断,具体取决于值.我已经完成了我的代码,代码中的值是正确的.

编辑3

删除除字体颜色之外的所有样式后,截断仍然会发生,但我还没弄清楚何时.如果我更改输入表中的数字,则汇总值有时会被截断,有时则不会.

这是表格中的一行.除了id更改之外,所有行都相似.

<TableRow
    android:padding="@dimen/pad_12">
    <TextView 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="@integer/table_weight_percent_label"
        android:text="@string/cho"
        style="@style/label_light"/>
    <TextView
        android:id="@+id/percent_1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="@integer/table_weight_percent_value"
        style="@style/summary_values"/>
    <TextView 
        android:id="@+id/val1a"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="@integer/table_weight_percent_value"
        style="@style/summary_values"/>
    <TextView 
        android:id="@+id/val1b"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="@integer/table_weight_percent_value"
        style="@style/summary_values"/>
</TableRow>
Run Code Online (Sandbox Code Playgroud)

编辑4

尝试了一些事情后,我改变了包含TableView一个LinearLayout与水平方向.我甚至将TableRow视图保留原样(只需添加layout_width和layout_height).令人惊讶的是,它现在有效.

要稍微描述奇怪的行为:当它只显示第一个字符时,如果我打开软键盘并再次关闭它,表格将正确显示,直到我更改其中一个EditText值.即使我从表中删除了2列,它仍然以这种奇怪的方式表现,因此视图有足够的空间.

Mik*_*e T 1

在尝试了很多事情之后,我将包含的 TableView 更改为具有水平方向的 LinearLayout。我什至保留了 TableRow 视图的原样(仅添加了layout_width 和layout_height)。令人惊奇的是,现在它可以工作了。

我不知道为什么它不起作用或者为什么它现在起作用了。如果有人能提供一些见解,我将非常感激。