Android Vertical TextView 文字竖排
2016-03-17 16:05
447 查看
竖排文字控件:
这样使用来实现文字靠左靠上对齐:
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); } }
这样使用来实现文字靠左靠上对齐:
<com.howfun.test.VerticalTextView android:layout_width="450dp" android:layout_height="450dp" android:textSize="40sp" android:layout_marginLeft="100dp" android:gravity="bottom|right" android:text="Vertical text" /><span style="FONT-FAMILY: Arial, Helvetica, sans-serif"><span style="WHITE-SPACE: normal"></span></span>
相关文章推荐
- Android中Intent.action的各种常见作用
- 15_Android性能优化
- Android四大组件—Activity
- 用javascript开发ios和android的一点知识
- Volley 的介绍和使用(三)
- Android Volley完全解析(一),初识Volley的基本用法(转)
- Android 四大组件
- picasso-强大的Android图片下载缓存库
- Android 开关机动画
- 【进阶篇】Android学习笔记——TextInputLayout
- Android ORMLite 框架的入门用法
- Android下Activity结束(finish())之后没有释放内存问题的解决方法
- [Android] ImageView.ScaleType设置图解
- Android 屏幕适配方案
- 【Android控件】Android RecyclerView 使用完全解析 体验艺术般的控件
- Unmarshalling unknown type code 7667758 at offset 420
- Android内存泄漏分析及实践(二)
- 浅谈 MVP in Android
- android中MVP模式
- Android 全局异常捕获之CrashHandler