使用setView时,在AlertDialog的TextView上慢速滚动

时间:2014-06-13 11:24:12

标签: android textview android-alertdialog clickable

背景

我希望添加点击alertDialog上显示的TextView内链接的功能。

问题

一切都很好,链接是可点击的。

然而,滚动非常慢,并且不允许快速滚动手势(轻弹?向上滑动?)。

此外,滚动条本身已变得不可见。

我尝试了什么

这是我使用的代码:

  public static void showWhatsNewDialog(final Activity activity)
    {
    final AlertDialog.Builder builder=new AlertDialog.Builder(activity);
    builder.setTitle(R.string.whats_new);
    final TextView textView=new TextView(activity);
    textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,18);
    builder.setView(textView);
    textView.setText(Html.fromHtml(...));
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    textView.setClickable(true);
    builder.setPositiveButton(android.R.string.ok,null);
    builder.show();
    }

问题

有没有更好的方法来实现这一点,这将导致滚动问题得到解决?

1 个答案:

答案 0 :(得分:0)

我建议您创建一个扩展Dialog的类并创建一个要在警告对话框中显示的布局,并将此Layout设置为您的CustomDialog类。创建一个这样的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

  <TextView 
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

  <ScrollView 
    android:id="@+id/scrollview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true">
    <TextView 
    android:id="@+id/message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/message"
    />
  </ScrollView>

</LinearLayout>

并将此布局设置为CustomDialog类。