android如何达到这样的效果:一个按钮跟在TextView的文字后面 (Textview可能会换行显示文字)

android如何达到这样的效果:一个按钮跟在TextView的文字后面 (Textview可能会换行显示文字)

阅读 6.3k
2 个回答

如果给TextView添加android:maxWidth呢?

使用FrameLayout包裹TextView和Button,动态计算最后的一个字符的位置,把Button移动过去。。。

或者,你只是想要点击效果的话,TextView是可以用SpannableString来设置单独字符的样式,包括可以点击。。。 把最后一两个字符来当作按钮来使用

        TextView textView = (TextView) findViewById(R.id.textview);
        String s = "这是一个测试测试测试测试测试测试测试测试测试测试测试测试" +
                "这是一个测试测试测试测试测试测试测试测试测试测试测试测试" +
                "按钮";
        Spannable spannable = Spannable.Factory.getInstance().newSpannable(s);
        spannable.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                Toast.makeText(MainActivity.this, "Clicked!", Toast.LENGTH_SHORT).show();
            }
        }, s.length() - 2, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(spannable);
        textView.setMovementMethod(LinkMovementMethod.getInstance());

嗯,差不多就是这个样子,当然还可以改颜色,背景之类的
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题