手势操作实现文字缩放
来源:互联网 发布:淘宝让朋友刷有风险吗 编辑:程序博客网 时间:2024/06/05 10:52
public class NewTextView extends TextView {
private float tvSize;
private float oldDis;
public NewTextView(Context context) { super(context);}public NewTextView(Context context, AttributeSet attrs) { super(context, attrs);}public NewTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr);}@Overridepublic boolean onTouchEvent(MotionEvent event) { if (tvSize == 0) { tvSize = this.getTextSize(); } //event.getActionMasked()当多点触屏时使用 switch (event.getActionMasked()) { case MotionEvent.ACTION_POINTER_DOWN: oldDis = getDis(event); break; case MotionEvent.ACTION_MOVE: if (event.getPointerCount() == 2) { float newDis = getDis(event); zoom(newDis, oldDis); oldDis = newDis; } break; } return true;}/** * 获取两个手指之间的距离 * * @return */private float getDis(MotionEvent event) { float x = event.getX(0) - event.getX(1); float y = event.getY(0) - event.getY(1); return (float) Math.sqrt((x * x) + (y * y));}/** * 对文字进行缩放 * * @param */private void zoom(float newDis, float oldDis) { tvSize *= newDis / oldDis; if (tvSize < 28 || tvSize > 68) { Toast.makeText(getContext(), "不能再缩放了", Toast.LENGTH_SHORT).show(); } else { this.setTextSize(px2sp(getContext(), tvSize)); }}/** * @param context * @param pxValue * @return */public static int px2sp(Context context, float pxValue) { float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f);}
}
阅读全文
0 0
- 手势操作实现文字缩放
- [iOS]手势操作实现图片的缩放
- 【IOS】扩展UIImageViewEx实现:手势移动,旋转,缩放(附带一个收缩的文字标签功能)
- 【IOS】扩展UIImageViewEx实现:手势移动,旋转,缩放(附带一个收缩的文字标签功能)
- 【IOS】扩展UIImageViewEx实现:手势移动,旋转,缩放(附带一个收缩的文字标签功能)
- 如何实现手势缩放图片
- Android实现手势缩放图片
- 自定义Imageview控件实现多种手势操作 (拖动、水平缩放、竖直缩放、等比例缩放、双击、长按)
- Android通过手势实现的缩放处理
- Android通过手势实现的缩放处理
- Android之实现手势缩放的ImageView
- Android之实现手势缩放ImageView
- [Android 机制] 如何实现手势缩放图片
- 【Android通过手势实现的缩放处理】
- Android之实现手势缩放ImageView
- 【Android通过手势实现的缩放处理】
- ImageView通过matrix实现手势缩放
- android实现手势缩放、移动图片
- JavaScript 的函数如何定义
- 使用if语句来判断最大值
- 在函数调用/子函数中进行动态内存的分配
- 快速排序
- vue 背景图引入
- 手势操作实现文字缩放
- 如何保障微服务安全
- ORACLE日期时间函数大全
- 仙剑问情
- 视图
- LeetCode week 11 : Regular Expression Matching
- 运行结果
- hadoop 之 文件读取操作
- Java反射构建方法含有参数列表