如何在不使用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"/>