我在链接的TextView上遇到RTL支持的一些问题。我的代码如下:
final TextView textView = (TextView) findViewById(R.id.where);
if (textView != null) {
textView.setAutoLinkMask(0);
textView.setText(location);
if (!Linkify.addLinks(textView, Linkify.WEB_URLS |
Linkify.EMAIL_ADDRESSES | Linkify.MAP_ADDRESSES)) {
Linkify.addLinks(textView, mWildcardPattern, "geo:0,0?q=");
}
textView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
try {
return v.onTouchEvent(event);
} catch (ActivityNotFoundException e) {
// ignore
return true;
}
}
});
}
对于我的TextView:
<TextView
android:id="@+id/where"
style="@style/ViewEventStyle.FontSmall.Link"
android:layout_width="0dp"
android:layout_weight="1"
android:paddingBottom="8dp"
android:layout_marginTop="@dimen/event_view_no_margin"
android:textDirection="locale"
android:singleLine="true"
android:ellipsize="end"/>
当设置RTL语言时,TextView是不可见的,但对于任何其他语言,它都可以正常显示。 奇怪的是,如果我触摸TextView的位置,它变得可见并启动指定的活动(来自linkify),当我返回时,TextView始终可见。如果我将textDirection元素更改为ltr,它应该是可见的,但是从错误的方向显示。我尝试过无效,请求布局,更改文本颜色,设置可见性,确保它有足够的空间,获取文本,一切都是应该的,除了它是不可见的。除了设置文本大小外,该样式不包含任何相关内容
任何有任何提示的人?这是在运行api 17的手机上
答案 0 :(得分:1)
我解决了这个问题,问题是当单行为真时,textview将是不可见的,但如果我将其更改为maxLines = 1而不是按预期工作。
答案 1 :(得分:0)
Dunno,如果它仍然相关,也不是它是连接的(我发布它作为评论,除了我没有足够的声誉 - 但:)但我有很多RTL的问题,其中一些类似,当在API 17上运行。按钮消失等等尝试在4.3上运行它? 我无法确定问题是什么,因为对我来说问题出在布局中:显然,在4.2.2 = 17中,如果有一个Left和一个Start元素,它们都以某种方式被考虑在内,所以你必须留出一个,但在你的xml片段中没有。也许在文件的其余部分 - 在这种情况下也尝试这个(如果你只在&gt; = 17上运行,使用开始/结束,否则你将不得不重复布局)