这是一个可用性问题
我已经使用LinkMovementMethod.getInstance()
来允许textview滚动和URLS可点击(打开浏览器),问题是当用户RELEASE滚动时,会产生混淆链接它会自动打开谷歌Chrome浏览器,而不是什么都不做。每个滚动都打开浏览器(因为有很多链接)。
所以,在打开浏览器之前,我想显示一个Dialog,要求"你想要打开链接吗?",我尝试了很多,但我无法识别任何听众
其他解决方案只有在CLICK和RELEASE在同一链接中执行时才会打开浏览器(在这种情况下更能保证用户不进行任何滚动)
我也对其他建议持开放态度
你可以看到许多链接
简要介绍XML:
<etc.TextViewCustomizado
android:layout_width="match_parent"
app:nomeFonte="Cairo_Regular"
android:textSize="17sp"
android:id="@+id/textview"
android:textColor="@android:color/black"
android:textColorLink="@color/azul2escuro"
android:layout_height="match_parent" />
因此,正如您所看到的,它只是一个包含所有信息的文本视图,通过:
textview.setText(Html.fromHtml(
getResources().getString(R.string.lic1)
));
textview.setMovementMethod(LinkMovementMethod.getInstance());
资源R.string.lic
:
<![CDATA[
Programming libraries (Linguagens de programação)
<br>
<a href="https://github.com/rengwuxian/MaterialEditText">MaterialEditText</a>
by
<a href="https://github.com/rengwuxian">rengwuxian</a>
licensed under
<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>
..continues
由于
答案 0 :(得分:0)
我找到了另一种方法,使用WebView
XML:
<LinearLayout
...>
<WebView
android:id="@+id/wv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
的活动:
private WebView wv = (WebView) findViewById(R.id.wv);
wv.loadData(getResources().getString(R.string.lic1), "text/html; charset=utf-8",null);