Android 竖排的TextView

因为要做一个竖着显示文字的TextView,然后就在网上找了找,都是说用一个LinearLayout来垂直排列多个TextView,我就觉得这样的话如果有很多文字的话,就会造成性能上的影响,所以我就按照自己的思路来。

  • 找到TextView的写入内容的方法
  • 重写该方法
  • 在内容写入之前我们把内容跨行竖着输入进去

按照这个思路来,找到我们经常使用的setText()。

全部代码

public class VerticalButton extends android.support.v7.widget.AppCompatButton{


    public VerticalButton(Context context) {
        super(context);
    }

    public VerticalButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public VerticalButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void setText(CharSequence text, BufferType type) {
        StringBuffer sb=new StringBuffer();
        for (int i = 0; i < text.length(); i++) {
            sb.append(text.charAt(i));
            if (i<text.length()-1){
                sb.append("\n");
            }

        }
        super.setText(sb.toString(), type);
    }
}

猜你喜欢

转载自blog.csdn.net/sinat_32089827/article/details/79150179