TextView内容放大缩小动画,不是控件
来源:互联网 发布:mac vmware tools 编辑:程序博客网 时间:2024/05/16 06:02
主要思想,定义一个放大字体的方法,定义一个缩小字体的方法,Handler互相发送消息,放大缩小字体的核心类是SpannableString
public class ZoomTextView extends TextView {public static final int AMPLIFY = 1;public static final int REDUCE = 2;private boolean isZoom;private SpannableString msp;float strethScale = 1.2f;// 缩放比例private Handler mHandler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case AMPLIFY:amplify();break;case REDUCE:reduce();break;}};};public void reduce() {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {msp = new SpannableString(getText().toString());msp.setSpan(new RelativeSizeSpan(1), 0, getText().toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);msp.setSpan(new ScaleXSpan(1), 0,getText().toString().length(),Spanned.SPAN_INCLUSIVE_EXCLUSIVE);setText(msp);mHandler.sendEmptyMessage(AMPLIFY);}}, 500);}public void amplify() {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {msp = new SpannableString(getText().toString());// 相对比缩放msp.setSpan(new RelativeSizeSpan(strethScale), 0, getText().toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);// 横向缩放msp.setSpan(new ScaleXSpan(strethScale), 0, getText().toString().length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);setText(msp);mHandler.sendEmptyMessage(REDUCE);}}, 500);}public ZoomTextView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);}public ZoomTextView(Context context, AttributeSet attrs) {this(context, attrs, 0);}public ZoomTextView(Context context) {this(context, null);}public boolean isZoom() {return isZoom;}public void setZoom(boolean isZoom) {this.isZoom = isZoom;if (isZoom) {reduce();}}}
0 0
- TextView内容放大缩小动画,不是控件
- 放大缩小动画
- WebBrowser控件页面内容放大、缩小功能实现
- 放大缩小容器:仿动画
- uiviewcontroller 转场放大缩小动画
- 放大、缩小、旋转、开始动画
- uiviewcontroller 转场放大缩小动画
- uiviewcontroller 转场放大缩小动画
- uiviewcontroller 转场放大缩小动画
- iOS 图片放大缩小动画
- 控件移动,放大,缩小,旋转
- android 实现可以放大缩小的TextView
- webview 隐藏放大缩小控件实现放大缩小
- MFC放大缩小界面,使控件跟着放大缩小
- CSS、jQuery实现放大缩小动画效果
- js 图片放大缩小(动画效果)
- 自定义ImageView实现自动放大缩小动画
- ios 图片放大缩小动画效果
- 今天开通这个了,试一下
- hadoop的源码阅读,ipc包学习--nio
- POJ 1201 Intervals
- 线程池ThreadPoolExecutor使用简介
- 每一个程序员都是自学成才
- TextView内容放大缩小动画,不是控件
- Oracle 聚簇因子概念及实验
- 关于main(int argc, char* argv[])的理解
- 进程间通信简介(一)
- llegalStateException: Fragment XXXFragment not attached to Activity异常处理
- Poj 3114 Countries in War
- Oracle导入导出相关问题
- LaTex 表格问题
- doxygen 快速入门