2011-08-18 65 views
1

我正在为波斯语开发Android应用程序。我从SQLite数据库获取数据并使用TextView显示它们。我如何从右向左显示文本(包含多行)?从右到左支持Android中的TextView

任何想法?

+0

你能给有关要从右向左显示什么的更多详细信息? – yoshi24

回答

0

如果Android本身不支持(我不确定),你可以创建一个字符串反转器,它用string.length() - nth字符交换第n个字符,直到你有一个反射字符串,然后post这是正确的。

1

如果ROM支持从右到左(如果您在中东购买手机时最有可能出现这种情况),则可以将重力设置为正确。

+0

感谢您的帮助。你是对的,但我想在全世界销售应用程序,不限于中东。我需要一个通用解决方案。 – Farina

+0

如果问题只出现在镜像中,那么就像Pyrodante所说的那样,您可以在将其设置为TextView之前对其进行镜像,但如果在字形映射中存在与阿拉伯语相同的问题,则不存在常规解决方案,因为这需要在android ROM本身中进行修改。 –

0

如果ROM不支持从右到左渲染,则可以使用实现Unicode双向排序算法的java.text.Bidi类。

0

这是一个古老的问题,但由于它没有问得很好,所以没有回答。 @Farina,我相信你正在寻找的答案就在这里: http://developer.android.com/guide/topics/resources/providing-resources.html

本质:通过旁边的布局文件夹中创建布局-AR文件夹,并把一个RTL面向布局文件在里面你可以得到它仅在rtl选定的设备上显示。 (ar代表阿拉伯语,如果使用不同的rtl语言,你可能会发现代码here。是的,有些设备支持旧的废弃语言代码,所以如果它不工作,尝试寻找旧代码)

相关问题