gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:26 25 4
gpt4 key购买 nike

我有一个包含 3 行数字(摘要信息)的表格。当 TextView 使用其默认引力设置样式时,文本会正确显示。

enter image description here

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

enter image description here

这甚至包括列标题 - 此处未显示 - 我什至没有更改。

我希望表格值右对齐以与应用程序的其余部分保持一致,但我很困惑为什么表格中的值会像这样。

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

<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>

这是其中一个单元格的 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"/>

编辑

即使 gravity 也会发生截断设置为 leftcenter .

编辑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>

编辑4

在尝试了很多东西之后,我改变了包含 TableViewLinearLayout水平方向。我什至离开了TableRow按原样查看(只需添加 layout_width 和 layout_height)。令人惊讶的是,它现在有效了。

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

最佳答案

在尝试了很多事情之后,我将包含的 TableView 更改为水平方向的 LinearLayout。我什至保留了 TableRow View (只是添加了 layout_width 和 layout_height)。令人惊讶的是,它现在有效了。

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

关于android - 应用重力样式时 TextView 仅显示一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com