Android - 当用户在链接

时间:2018-02-07 21:40:44

标签: android usability fromhtml linkmovementmethod

这是一个可用性问题

我已经使用LinkMovementMethod.getInstance()来允许textview滚动和URLS可点击(打开浏览器),问题是当用户RELEASE滚动时,会产生混淆链接它会自动打开谷歌Chrome浏览器,而不是什么都不做。每个滚动都打开浏览器(因为有很多链接)。

所以,在打开浏览器之前,我想显示一个Dialog,要求"你想要打开链接吗?",我尝试了很多,但我无法识别任何听众

其他解决方案只有在CLICK和RELEASE在同一链接中执行时才会打开浏览器(在这种情况下更能保证用户不进行任何滚动)

我也对其他建议持开放态度

你可以看到许多链接

enter image description here

简要介绍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

由于

1 个答案:

答案 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);