如果以从左到右的字母(英文,数字等等)开头,如何从右到左显示TextView?
我可以用
android:textDirection="rtl"
但我想支持17以上的旧版本。
我的另一个解决方案是检查:
public static boolean isStartWithEnglishUnicodeOrDigits(String str) {
str = str.toLowerCase();
String abc = "abcdefghijklmnopqrstuvwxyz";
String digits = "1234567890";
try {
for (int i = 0; i < abc.length(); i++) {
if (str.charAt(0) == abc.charAt(i)) {
return true;
}
}
for (int i = 0; i < digits.length(); i++) {
if (str.charAt(0) == digits.charAt(i)) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
如果为true,我添加char表示从右到左强制:
x = "\u200F" + x;
我讨厌这个解决方案,所以我问你将如何解决这个问题?
谢谢!
答案 0 :(得分:0)
只需将TextView宽度设置为所需大小
即可并设置:
机器人:比重= “右”
答案 1 :(得分:0)
但我想支持旧版本而不是17
但Android仅支持从17开始的本地rtl文本:http://android-developers.blogspot.de/2013/03/native-rtl-support-in-android-42.html
唯一的办法就是做自己的黑客攻击,找到一些可以进行黑客攻击的库,但不会有任何Android原生支持。