gpt4 book ai didi

android - RTL 仅适用于多行

转载 作者:搜寻专家 更新时间:2023-11-01 08:44:53 25 4
gpt4 key购买 nike

我有一个 Android 应用程序,可以读取 RSS 提要。我的 list 中支持 RTL。当我用 RTL 显示希伯来语/阿拉伯语的 RSS 提要时,发生了一些非凡的事情。

image
该图像显示了 TextView (列表中)中的文本如何正确对齐占用 2+ 行的长文本,对吧。但是,1 行文本未正确对齐。所有文本都以相同的方式解析并设置到 TextView 。

这是我的 TextView 样式:

    <item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:lineSpacingExtra">1dp</item>
<item name="android:paddingLeft">5dp</item>
<item name="android:paddingTop">2dp</item>
<item name="android:maxLines">2</item>
<item name="android:ellipsize">end</item>
<item name="android:textColor">@color/dark_gray</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>

造成这种差异的原因是什么?我怎样才能确保所有(希伯来语/阿拉伯语)文本都正确对齐。

最佳答案

当您使用 wrap_contentlayout_width 时, View 的宽度会根据存在的内容量进行调整。在短字符串的情况下,这意味着 View 的右边缘正好位于文本的边缘,而不是绑定(bind)到 FrameLayout 的右边缘。这甚至会导致右对齐文本显示为左对齐。

相反,您应该修复 TextView 的两个边缘 - 您已经通过 android:layout_toRightOf 处理了左边缘 - 添加 android:layout_alignParentRight="true" 同样, View 的最右边缘将始终与 FrameLayout 的最右边缘相对应。

关于android - RTL 仅适用于多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416809/

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