Android混合语言文本-带有RTL和LTR文本的字符串上的BidiForMatter

Android mixed language text - BidiFormatter on String with RTL and LTR text(Android混合语言文本-带有RTL和LTR文本的字符串上的BidiForMatter)

本文介绍了Android混合语言文本-带有RTL和LTR文本的字符串上的BidiForMatter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个ListView自定义View,其中我有一个TextView

 <TextView
     android:id="@+id/textViewItemTitle"
     android:layout_width="0dp"
     android:layout_weight="1"
     android:layout_height="wrap_content"
     android:gravity="right|center_horizontal"
     android:text="title" />

TextView包含希伯来语文本。

 if(!bidi.isRtl(event)){
     event = bidi.unicodeWrap(event);
 }

 holder.title.setText(String.format("%s  %s  %s", bidi.unicodeWrap(item.getStartTimeNoDate().trim()), event,
 bidi.unicodeWrap(item.getDuration().trim())));

其中第一个参数是time hh:mm:ss,第二个(事件)是希伯来语字符串,第三个参数与第一个参数类似。

问题:有时事件字符串包含希伯来语和英语的混合文本,如abc-אבג,则所有文本的行为方式类似于重力向左(而不是像我在文本视图中定义的那样向右),我的意思是缩进到左侧。

如何解决?

推荐答案

尝试添加到您的文本视图:

android:textDirection="anyRtl"

有关更多阅读内容: http://developer.android.com/reference/android/view/View.html#attr_android:textDirection

这篇关于Android混合语言文本-带有RTL和LTR文本的字符串上的BidiForMatter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Android混合语言文本-带有RTL和LTR文本的字符串上的BidiForMatter

基础教程推荐