选择器到超链接TextView

时间:2015-10-29 10:48:43

标签: android hyperlink textview selector

我有TextView,其点击触发浏览器打开网址。如何将选择器应用于TextView。我尝试了android:textColor="@drawable/text_selector",它适用于所有其他TextViews

<TextView
android:id="@+id/txtWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:linksClickable="true"
android:textColor="@drawable/text_selector"
android:textSize="@dimen/web_textsize"
android:textStyle="normal" />

我也试过了android:textColorLink="@drawable/text_selector",但也没有。

2 个答案:

答案 0 :(得分:3)

解决方法:

我按照自己的方式实施,并且工作正常。

    textview=(TextView) findViewById(R.id.textview);
    textview.setClickable(true);
    String mystring=new String("https://www.google.com");
    SpannableString content = new SpannableString(mystring);

    content.setSpan(new UnderlineSpan(), 0, mystring.length(), 0);
    textview.setText(content);

    textview.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

XML textView

 <TextView
    android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="http://www.google.com"
    android:textColor="@color/text_selector"
    android:textSize="18sp"
    android:textStyle="bold" />

res/color/selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#7fa87f" android:state_pressed="true" />
<!-- pressed -->
<item android:color="#ff33b5" android:state_focused="true" />
<!-- focused -->
<item android:color="#061476" />
<!-- default -->
</selector>

OutPut:悬停

With Hover

OutPut:没有悬停

enter image description here

答案 1 :(得分:0)

您可以通过代码以编程方式设置可单击的TextView。

    SpannableString ss = new SpannableString("Click here to learn more");
    ss.setSpan(clickableSpan, 0, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setText(ss);
    textView.setMovementMethod(LinkMovementMethod.getInstance());

在XML中添加以下两行:

            android:autoLink="web"                
            android:linksClickable="true"

希望它会对你有所帮助。