前边已经收藏了了关于“左右语言定义复杂字串的”
在开发中感觉还不是很全。
1 关于“\u200f”的使用
الموضوع:<!-- subject: -->
想要的效果应该是“:”处于“الموضوع”的左侧。但是手机上的效果确是处于右侧。
"()?!"等符号也是这样。特别是“(内容)”显示的很艹蛋,而且内容很长会换行的时候。
上述情况可以这样解决:
الموضوع:\u200f
(لن يتم حذف المحادثة التي تشتمل على رسالة مميزة)\u200f
2 关于阿拉伯语在java代码中的拼接
特别是在国际化问题中,因为字串不能全部在res中写死,更多的情况时在java代码中拼接。
在这里提供一种方法,判断当前的语言时RTL还是LTR,然后根据不同的情况进行拼接。
Bidi bidi = new Bidi(mContext.getString(R.string.conversations_strings_message_details_type_txt),
Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT);
boolean isBidi = false;
if (bidi != null && (bidi.isRightToLeft() || bidi.isMixed())) {
isBidi = true;
} else {
isBidi = false;
}
然后根据参数isBidi 进行判断