android手势缩放改变字体大小

简介:

今天看到网上有人写的自定义TextView  来实现文本字体手势缩放来改变字体大小,

主要是通过手势来判断手指落下的俩点之间的距离有没有变化,如果俩点的距离一直在变化,那么就是要进行缩放操作,然后调用缩放的代码

private void setTouchListener()
{
view.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction() & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_DOWN:
mode = DRAG;
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
mode = NONE;
break;
case MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
if (oldDist > 0)
{
mode = ZOOM;
}
break;
case MotionEvent.ACTION_MOVE:
if (mode == ZOOM)
{
// 正在移动的点距初始点的距离
float newDist = spacing(event);


if (newDist > oldDist)
{
zoomOut();
}
if (newDist < oldDist)
{
zoomIn();
}
oldDist=newDist;
}
break;
}
return true;
}


/**
* 求出2个触点间的 距离

* @param event
* @return
*/
private float spacing(MotionEvent event)
{
float x = event.getX(0) - event.getX(1);
float y = event.getY(0) - event.getY(1);
return FloatMath.sqrt(x * x + y * y);
}
});
}





/**
* 放大
*/
protected void zoomOut()
{
textSize += scale;
if (textSize > MAX_TEXT_SIZE)
{
textSize = MAX_TEXT_SIZE;
}
view.setTextSize(textSize);
}


/**
* 缩小
*/
protected void zoomIn()
{
textSize -= scale;
if (textSize < MIN_TEXT_SIZE)
{
textSize = MIN_TEXT_SIZE;
}
view.setTextSize(textSize);
}

目录
打赏
0
0
0
0
10
分享
相关文章
Android 自带的字体库、字体样式
Android 自带的字体库、字体样式
1497 0
Android 自带的字体库、字体样式
|
9月前
|
Android面试题经典之如何全局替换App的字体
在Android应用中替换字体有全局和局部方法。全局替换涉及在`Application`的`onCreate`中设置自定义字体,并创建新主题。局部替换则可在布局中通过`ResourcesCompat.getFont()`加载字体文件并应用于`TextView`。
123 2
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
151 6
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
115 2
Android TextView的字体设置
【5月更文挑战第13天】
482 0
Android 中设置EditText输入框提示文本hint的字体大小
Android 中设置EditText输入框提示文本hint的字体大小
399 0
Android关于Bitmap的缩放方法
最近要将图片传给服务器,但是服务器限制了图片的大小,所以我查询了许多相关文章,现在将其罗列出来。
1042 0
关于android 字体设置为中等粗细
Android TextView设置字体粗细只有三种状态,textStyle取值只有bold、nomral、italic、客户需求是字体是medium粗细,只因ios是有medium属性,Android被要求要一样;
1516 0
关于android 字体设置为中等粗细
Android AlertDialog修改标题、内容、按钮的字体大小和字体颜色
Android AlertDialog修改标题、内容、按钮的字体大小和字体颜色
1039 0
Android AlertDialog修改标题、内容、按钮的字体大小和字体颜色

热门文章

最新文章

下一篇
oss创建bucket