在 strings.xml 中我有关键字
by_continuing_you_agree_terms_and_policy
绳子
By continuing, you agree our Terms of Service and <a href="https://www.google.com">Privacy Policy</a>
这是文本视图:
<TextView
android:id="@+id/createAccountTermsText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="8dp"
android:text="@string/by_continuing_you_agree_terms_and_policy"
android:textColor="#A1A1A1" />
但是当我点击它时什么也没有发生。
基于我添加的其他问题中的“解决方案”
android:autoLink="web"
android:linksClickable="true"
也不起作用,所以我添加了:
binding.createAccountTermsText.movementMethod = LinkMovementMethod.getInstance()
也不起作用!
这不是我第一次看到 Android SDK 的愚蠢行为。 Android 似乎是一个非常可怕的应用程序开发软件,时期
android:autoLink="web"
使文本中类似
http://www.google.com
的内容可点击。不是<a href="https://www.google.com">Privacy Policy</a>
如果你想在代码中使用“a href”
val html=getString(R.string.linked_string)
textview.movementMethod=LinkMovementMethod.getInstance()
textview.text=Html.fromHtml(html, Html.FROM_HTML_MODE_COMPACT)
在 string.xml 中将
<
替换为 <
别忘了关闭
android:autoLink="web"
。
好吧,这是完整的解决方案:
val text = getString(R.string.by_continuing_you_agree_terms_and_policy)
val ss = SpannableString(text)
val clickTerms: ClickableSpan = object : ClickableSpan() {
override fun onClick(widget: View) {
Log.d(tagg, "terms clicked")
binding.createAccountTermsText.clearFocus()
}
}
val clickPrivacy: ClickableSpan = object : ClickableSpan() {
override fun onClick(widget: View) {
Log.d(tagg, "privacy clicked")
binding.createAccountTermsText.clearFocus()
}
}
val hintColorOne = ForegroundColorSpan(Color.parseColor("#FF0000"))
val hintColorTwo = ForegroundColorSpan(Color.parseColor("#FF0000"))
ss.setSpan(hintColorOne, 29, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
ss.setSpan(hintColorTwo, 50, 64, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
ss.setSpan(clickTerms, 29, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
ss.setSpan(clickPrivacy, 50, 64, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
binding.createAccountTermsText.text = ss
binding.createAccountTermsText.movementMethod = LinkMovementMethod.getInstance()
整数代表第一个/最后一个字符,这意味着颜色和点击区域位于它们之间。
注 1:对两个跨度使用hintColorOne 和hintColorTwo 而不是像hintColorOne 是必要的,因为对两个跨度仅使用一个只会使第二个跨度起作用。开发带有所有这些惊喜的 Android 应用程序真是太幸福了!
注 2:使用 clickableSpan 将禁用定义的颜色并使用 XML 中定义的
android:textColorLink="#FF0000"
代替
如果您正在寻找 Insta AP APK,它通常指的是 Instagram 应用程序的修改版本,通常提供官方应用程序中没有的额外功能。但是,下载和使用修改后的 APK 可能会带来风险:
安全风险:修改后的APK未经官方应用商店验证,因此可能包含恶意软件或间谍软件。 隐私问题:由于这些应用程序不是官方的,它们可能会滥用或泄露您的个人数据。 帐户禁令:Instagram 可能会限制或禁止使用其应用程序修改版本的帐户。