笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述Android-是否可以将可点击链接添加到字符串资源中相关的知识,希望能为你提供帮助。
当用户第一次使用我的应用程序时,我通常会设置某种AlertDialog
,并解释如何使用该应用程序,并对他们刚刚下载的内容进行全面介绍。我通常也会从strings.xml
文件加载我的字符串。
我想要做的是使我的字符串资源中的一个单词可以像网页上的超链接一样点击。基本上你有一个AlertDialog
,在字符串资源中会有一个突出显示的单词,或者可能只是一个他们可以按的网址。我想我可以添加一个按钮,将它们带到网站,但我只是想知道在你的字符串资源中是否可以使用可点击的超链接。
答案只需在资源中使用html格式链接:
<
string name="my_link">
<
a href="http://somesite.com/">
Click me!<
/a>
<
/string>
然后,您可以在setMovementMethod(LinkMovementMethod.getInstance())
上使用TextView
使链接可点击。
还有TextView
的android:autoLink
属性也应该有效。
另一答案我找到了有趣的东西。如果你们中有人观察到这一点,请告诉我。
如果您使用,下面的超链接不起作用
android:autoLink="web"
但合作
TextView link = (TextView) findViewById(R.id.link);
link.setMovementMethod(LinkMovementMethod.getInstance());
<
string name="my_link">
<
a href="http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource">
Click me!
<
/a>
<
/string>
但如果你使用以下链接,它适用于两者
android:autoLink="web" (or)
TextView link = (TextView) findViewById(R.id.link);
link.setMovementMethod(LinkMovementMethod.getInstance());
<
string name="my_link">
<
a href="http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource">
http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource
<
/string>
<
/a>
另一答案Android不会自动生成包含有效链接可点击的字符串。您可以做的是将自定义视图添加到对话框并使用WebView显示警报消息。在这种情况下,您可以在您的资源中存储html,它们将是可点击的。
View alertDialogView = LayoutInflater.inflate(R.layout.alert_dialog_layout, null);
WebView myWebView = (WebView) alertDialogView.findViewById(R.id.dialogWebView);
myWebView.loadData("<
a href="http://google.com">
Google!<
/a>
", "text/html", "utf-8");
AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
builder.setView(alertDialogView);
【Android-是否可以将可点击链接添加到字符串资源中】alert_dialog_layout.xml
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical">
<
WebView android:id="@+id/dialogWebView" android:layout_height="wrap_content"
android:layout_width="wrap_content" />
推荐阅读
- Android(textview超链接)
- 在android上禁用setMovementMethod(LinkMovementMethod.getInstance())
- 从app中的Safari链接打开safari
- 如何让电子应用程序打开以“http(//”或“https://”开头的所有链接,并在浏览器中打开target =“_ blank”而不是app)
- 如何解决Android ndk build命令失败()
- 我们如何将CMake或ndk-build集成到Android Studio 3.0.1中( Gradle版本是4.1,android插件版本3.0.1)
- 如何将外部库集成到Cocos Android项目中
- UINavigationController appDelegate UIViewController以编程方式
- 从AppDelegate中访问NavigationController指向的初始视图