Android(安卓)Vertical TextView 文字竖排
16lz
2021-12-04
竖排文字控件:
package com.howfun.test;import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.view.Gravity;import android.widget.TextView;public class VerticalTextView extends TextView{ final boolean topDown; public VerticalTextView(Context context, AttributeSet attrs){ super(context, attrs); final int gravity = getGravity(); if(Gravity.isVertical(gravity) && (gravity&Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) { setGravity((gravity&Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP); topDown = false; }else topDown = true; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ super.onMeasure(heightMeasureSpec, widthMeasureSpec); setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth()); } @Override protected boolean setFrame(int l, int t, int r, int b){ return super.setFrame(l, t, l+(b-t), t+(r-l)); } @Override public void draw(Canvas canvas){ if(topDown){ canvas.translate(getHeight(), 0); canvas.rotate(90); }else { canvas.translate(0, getWidth()); canvas.rotate(-90); } canvas.clipRect(0, 0, getWidth(), getHeight(), android.graphics.Region.Op.REPLACE); super.draw(canvas); }}
这样使用来实现文字靠左靠上对齐:
更多相关文章
- android textview 利用空格实现文字均匀分布
- Android(安卓)多线程更新控件
- Android(安卓)为图片添加文字水印
- Android(安卓)studio RelativeLayout相对布局(控件相对父控件摆放
- Android又一个超漂亮的日历控件
- Android常用功能
- android 控件绘制完成的监听
- 自定义垂直文字view
- Android(安卓)MenuItem 设置文字颜色-TextColor的设置