如何在不使用java的情况下在android上的TextView中进行可点击的链接
在这里我使用Textview上的可点击的网址,它的工作原理,但我怎样才能设置可点击和突出显示的文本与Open URL与浏览器。 这可能从Android XML或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());
这个属性适用于你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>
在TextView的xml中使用android:autoLink="web"
。 它应该自动转换为可点击的网址(如果在文本中找到)
此外,不要忘记android:linksClickable="true"
。 我不认为你需要像你这样设置html
标签,只需要<a href>
标签…
<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"
- 对于所有的
作为@Aakash Verma建议使用android:autoLink="web"
。
但它会改变你的textColor。 为了解决这个问题,还android:textColorLink="your_text_color"
在你的TextView中添加android:textColorLink="your_text_color"
。
你的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"));
编辑:
快乐的编码
将行添加到TextView:
`android:autoLink="web"`
喜欢这个
<TextView ................ ................ android:autoLink="email" ................. />
只需将此属性添加到您的TextView android:autoLink="web"
例如
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:gravity="center" android:autoLink="web" android:text="https://www.google.co.in"/>