【问题标题】:Android, button, link underlineAndroid,按钮,链接下划线
【发布时间】:2015-10-29 21:03:57
【问题描述】:

我不希望按钮上的链接带有下划线。我是这样做的:

字符串.xml

  <string name="link">&lt;a href="http://web.com/web.php">mighty&#10;web&lt;/a></string>

activity.xml

  <Button
         android:id="@+id/web"
         android:layout_width="160dip"
         android:layout_height="160dip"
         android:layout_marginLeft="2dp"
         android:background="@drawable/bigroundbutton"
         android:textColorLink="@android:color/white"
         android:textSize="30sp" />

bigroundbutton.xml

 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android" 
 android:shape="oval">
 <solid android:color="#3a5795" />
 <corners android:bottomRightRadius="160dip"
    android:bottomLeftRadius="160dip"  
    android:topRightRadius="160dip"
    android:topLeftRadius="160dip"/>

activity.java

    Button but = (Button) findViewById(R.id.web);
    Spannable s = (Spannable) Html.fromHtml(getResources().getString(R.string.link));
    URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
    for (URLSpan span: spans) {
        int start = s.getSpanStart(span);
        int end = s.getSpanEnd(span);
        s.removeSpan(span);
        span = new URLSpanline_none(span.getURL());
        s.setSpan(span, start, end, 0);
    }
    but.setText(s);

    ......................

        private class URLSpanline_none extends URLSpan {
        public URLSpanline_none(String url) {
            super(url);
        }
        @Override public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
        }
    }

一切正常。 我运行apk,链接没有下划线。我点击它。有用。伟大的。 然后我关闭应用程序并再次打开它。链接有下划线。 当我重新运行 apk 时,它不再有下划线,直到我点击它。

任何想法如何解决这个问题?第一次点击后是否被视为“访问过的链接”?我没有想法。

【问题讨论】:

  • 尝试使用:@android:color/transparent
  • 那么按钮上的文字是不可见的
  • android:textColorLink="@android:color/transparent"
  • 是的,文本是不可见的。
  • 你是如何运行它的?我在模拟器中测试它,当我点击按钮时它不显示链接。单击按钮时是否应该显示链接?

标签: android button hyperlink underline


【解决方案1】:

自己处理链接有什么问题吗?

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="mighty web"
    android:tag="http://web.com/web.php"
    android:clickable="true"
    android:onClick="openUrl"/>

public void openUrl(View v){
    String url = v.getTag().toString();
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
}

【讨论】:

  • 1.不会像链接那样样式,2.不会有链接点击效果。
猜你喜欢
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
相关资源
最近更新 更多