我是靠谱客的博主 诚心犀牛,这篇文章主要介绍Android探索之路:在界面上实现超链接进行跳转,现在分享给大家,希望可以做个参考。

1、运行效果图:


当点击图中的红色字体时,会跳转到相应的界面

2、xml布局文件相关代码:

 <TextView
        android:id="@+id/agree"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50dp"
        android:layout_marginTop="15dp"
        android:text="注册即代表已阅读并同意使用条款和隐私政策" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp">
        <TextView
            android:id="@+id/login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="已有账号,前去登录" />
        <Button
            android:id="@+id/register"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="注册"
            android:layout_marginLeft="10dp"
            android:background="@drawable/user_or_privacy"
            android:textSize="18dp" />
    </LinearLayout>

3、Activity相关代码:

TextView agree = (TextView) findViewById(R.id.agree);//找到相应的控件
TextView login = (TextView) findViewById(R.id.login);
//借助SpannableString类实现超链接文字
   agree.setText(getClickableSpan());
   login .setText(getClickableSpan2());
 //设置超链接可点击
   agree.setMovementMethod(LinkMovementMethod.getInstance());
   login.setMovementMethod(LinkMovementMethod.getInstance());

private SpannableString getClickableSpan() {
        SpannableString spannableString = new SpannableString("注册即代表已阅读并同意使用条款和隐私政策");
        //设置下划线文字
        spannableString.setSpan(new UnderlineSpan(), 11, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置文字的单击事件
        spannableString.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                // Toast.makeText(MainActivity.this,"使用条款",Toast.LENGTH_LONG).show();
                Intent intent=new Intent(RegisterActivity.this,UserOrPrivacy.class);
                intent.putExtra("data","use");
                startActivity(intent);
            }
        }, 11, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置文字的前景色
        spannableString.setSpan(new ForegroundColorSpan(Color.RED), 11, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置下划线文字
        spannableString.setSpan(new UnderlineSpan(), 16, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置文字的单击事件
        spannableString.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                //  Toast.makeText(MainActivity.this,"隐私政策",Toast.LENGTH_LONG).show();
                Intent intent=new Intent(RegisterActivity.this,UserOrPrivacy.class);
                intent.putExtra("data","privacy");
                startActivity(intent);
            }
        }, 16, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString.setSpan(new ForegroundColorSpan(Color.RED), 16, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        return spannableString;
    }
    private SpannableString getClickableSpan2(){
        SpannableString spannableString2 = new SpannableString("已有账号,前去登录");
        spannableString2.setSpan(new UnderlineSpan(), 7, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString2.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                Intent intent=new Intent(RegisterActivity.this,LoginActivity.class);
                intent.putExtra("name",name);
                startActivity(intent);
            }
        }, 7, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString2.setSpan(new ForegroundColorSpan(Color.RED), 7, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        return spannableString2;
    }
总的来说思路很简单,其实就是,在一段话中截取一部分需要点击的字,设置上颜色和下划线,再设置上点击事件进行跳转就可以了。。


最后

以上就是诚心犀牛最近收集整理的关于Android探索之路:在界面上实现超链接进行跳转的全部内容,更多相关Android探索之路内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部