我在Textview
上使用了可点击的网址,但它确实有效。但是如何使用浏览器设置可打开URL的可点击和突出显示的文本。这可以从Android XML OR kotlin中使用,而不使用像setText(Html.fromHtml(""))
这样的Java代码。
String value = "<html>Visit Web <a href=\"http://www.domainname.com\">mysite</a> View</html>";
TextView text = (TextView) findViewById(R.id.text);
text.setText(Html.fromHtml(value));
text.setMovementMethod(LinkMovementMethod.getInstance());
答案 0 :(得分:5)
此属性适合您 TextView:android:autoLink =“web”
这是一个示例布局 的 layout.xml 强>
<TextView
android:id="@+id/txtLostpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoLink="email"
android:gravity="center"
android:padding="20px"
android:text="@string/lostpassword"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/txtDefaultpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoLink="web"
android:gravity="center"
android:padding="20px"
android:text="@string/defaultpassword"
android:textAppearance="?android:attr/textAppearanceSmall" />
<强> string.xml 强>
<string name="lostpassword">If you lost your password please contact <a href="mailto:support@cleverfinger.com.au?Subject=Lost%20Password" target="_top">support@cleverfinger.com.au</a></string>
<string name="defaultpassword">User Guide <a href="http://www.cleverfinger.com.au/user-guide/">http://www.cleverfinger.com.au/user-guide/</a></string>
答案 1 :(得分:5)
<TextView
android:textSize="18sp"
android:autoLink="web"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="http://www.example.com"
tools:ignore="HardcodedText" />
没有必要的declear布局ID,也没有java方面的代码。它适用于xml
使用自动链接
android:autoLink="web"
android:autoLink="phone"
android:autoLink="email"
android:autoLink="web"
android:autoLink="all"
答案 2 :(得分:3)
只需将此属性添加到TextView android:autoLink="web"
e.g
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:autoLink="web"
android:clickable="true"
android:text="https://www.google.co.in"/>
答案 3 :(得分:1)
as @Aakash Verma建议使用android:autoLink="web"
。
但它会改变你的textColor。要克服这一点,还要向您添加android:textColorLink="your_text_color"
TextView。
你的TextView应该是这样的。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="https://www.google.co.in/"
android:textColor="@color/colorPrimary"
android:textColorLink="@color/colorPrimary" />
如果你还想在java中做什么
myUrl= (TextView) rootView.findViewById(R.id.myUrl);
myUrl.setText("https://www.google.co.in/");
Linkify.addLinks(myUrl, Linkify.WEB_URLS);
myUrl.setLinkTextColor(Color.parseColor("#000000"));
修改强>
快乐编码
答案 4 :(得分:0)
在TextView的xml中使用android:autoLink="web"
。它应该自动转换网址点击(如果在文本中找到)
另外,不要忘记android:linksClickable="true"
。我不认为您需要设置html
标记,就像<a href>
标记一样......
答案 5 :(得分:0)
在TextView中添加行:
`android:autoLink="web"`
喜欢这个
<TextView
................
................
android:autoLink="email"
.................
/>
答案 6 :(得分:0)
如果您使用来自 strings.xml 资源的文本,html 标签似乎被剥离。
因此您必须在strings.xml 中使用<![CDATA[**your string with click links**]]>
才能使用Html.fromHtml(string)