Android 如何将TextView的一部分链接到活动
因此,我有一个文本视图,其中包含一些文本,如下所示 一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……href.link……一些其他文本……一些其他文本……一些其他文本……一些其他文本……一些其他文本 我只希望文本的链接部分在单击时启动另一个活动。我试图在Xamarin做到这一点,到目前为止,我已经做到了以下几点:Android 如何将TextView的一部分链接到活动,android,xamarin.android,Android,Xamarin.android,因此,我有一个文本视图,其中包含一些文本,如下所示 一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……一些文本……href.link……一些其他文本……一些其他文本……一些其他文本……一些其他文本……一些其他文本 我只希望文本的链接部分在单击时启动另一个活动。我试图在Xamarin做到这一点,到目前为止,我已经做到了以下几点: TextView1.SetText(Html.FromHtml("<span>some text...<a href='examp
TextView1.SetText(Html.FromHtml("<span>some text...<a href='example://'></a>...some other text </span>"
我猜这相当于:
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="example" />
</intent-filter>
不确定在这里设置什么作为方案。这就是我在Xamarin做类似事情的方式。我的版面中有一个名为
lblCreateNewAccount
的TextView
。在活动的OnCreate
方法中,我执行以下操作:
TextView lbl = this.FindViewById<TextView> (Resource.Id.lblCreateNewAccount);
lbl.TextFormatted = Android.Text.Html.FromHtml ("<u>Create New Account</u>");
lbl.SetTextColor (Color.ParseColor ("#ffffff"));
Typeface face = Typeface.CreateFromAsset (this.Assets, "fonts/OpenSansRegular.ttf");
lbl.SetTypeface (face, TypefaceStyle.Normal);
lbl.Click += lblCreateNewAccount_Clicked;
基本上,概念是将文本视图
格式化为href
,然后执行单击
事件以导航到下一个活动。不确定这是否是最好、最优雅的方式,但它对我有效
顺便说一句,在这种情况下,您必须使用三个
TextView
控件。我找到了答案。显然,我必须将此添加到代码(有问题)中,以使其工作-
TextView1.MovementMethod = LinkMovementMethod.Instance;
为了达到你的目标,最好保持两个文本视图非常接近。你可以在html中使用html格式。fromHtml()检查此链接可能会有所帮助。谢谢。实际上,整篇文章太长了,不能把它们放在一行。所以保持三个文本视图是没有帮助的。就像链接出现在段落的中间
void lblCreateNewAccount_Clicked (object sender, EventArgs e)
{
this.StartActivity (typeof(NewAccountActivity));
}
TextView1.MovementMethod = LinkMovementMethod.Instance;