首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android实现图片随手指旋转功能

本文实例为大家分享了Android实现图片随手指旋转功能的具体代码,供大家参考,具体内容如下 在View中进行重绘,主要是通过计算角度及距离来实现。...; import android.graphics.Matrix; import android.graphics.Paint; import android.util.Log; import...Paint mPaint = new Paint(); private Bitmap bitmaplittele;//中间不动的图片 private Bitmap bitmapBig;//随手指转动的图片...private float mPointX = 0, mPointY = 0; private int flag = 0; // 半径 private int mRadius = 0; // 旋转角度...除了实现图片旋转,还实现将图片切成3部分,每部分120度,每转动120度切换一个模式,点击每个部分均有响应事件回调到主界面。涉及保密,图片不给在此给出。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android ImageView 正确使用姿势

给定的长宽进行拉伸; 在ImageView中,可以同时设置src和background属性(为了减少绘制,可以根据使用场景来设置相应属性); 由于src中存放的是原图大小,如果需要对其缩放,就需要使用android...正确答案是: android:src在设置ImageView的setAlpha(int alpha)时,起作用; android:background在设置ImageView的setAlpha(int...(1)静态ImageView (此场景基本很少,设计切图即可) 合理使用src (前景)和background(背景)就可以实现 (2)异步ImageView 此就需要使用ImageView的前景(View...四、正确使用ImageView的“android:adjustViewBounds” adjustViewBounds的介绍如下: Set this to true if you want the ImageView...; 设置maxWidth、MaxHeight; 设置设置layout_width和layout_height为wrap_content 五、正确使用ImageView的“android:scaleType

2.2K80

骚操作:使用RxJava实现ImageView的拖动、旋转和缩放

本文介绍一种使用Rxjava实现图片交互操作的方法。支持单指拖动,双指旋转缩放,效果如下: ?...自定义View 首先自定义TrsImageView继承ImageView,设置ScaleType为Matrix,我们使用矩阵计算最终的translate, rotate和scale。...public class TrsImageView extends ImageView { public TrsImageView(Context context) { super...首先考虑单指拖动的操作流程: 手指按下 -> 手指移动 -> 手指抬起 我们用两次相邻的手指移动的位移去移动图片,计算方法如下: Observable delta1 = Observable.combineLatest...-> 手指移动 -> 第二个手指抬起 同样,我们用两次相邻的手指移动计算图片的位移、旋转和缩放,定义类Delta保存这些值 Observable delta2 = Observable.combineLatest

1.2K20

图片操作系列 —(1)手势缩放图片功能

使用了这个Demo后发现里面有手势控制图片大小,手势控制图片旋转等功能,看了代码后我发现BiliBili这个demo中也是用了第三方的库: RotatePhotoView ? ?...我们可以看到介绍:在PhotoView的基础上添加了通过二个手指旋转图片的功能,所以这个库又是用了其他的第三方库: PhotoView 我们可以看到这个PhotoView的库有一万多个star了。...所以本文我先来实现实现根据手势来实现图片的缩放功能: 1.添加图片布局 PhotoView是继承了ImageView,然后直接在layout中使用PhotoView,为了更方便的讲解,我就直接还是使用ImageView...具体具体可以看这篇文章,写的很详细:用户手势检测-GestureDetector使用详解 而此处我们因为做的功能是通过手势来缩放图片,所以我们就要监听二个手指头缩放动作,所以我们使用的是ScaleGestureDetector...我来具体跟大家说下: 缩放跟手势的二个触点的中心有关,而且图片会随着那个方向移动 ? 比如我是二个红点分别是我的手指,然后不停的缩小图片动作,图片不仅变小,而且会随着那个方向做平移。放大则相反。

3.1K10

AndroidImageView控件的ScaleType属性使用详解

那我问问你,你确定对ImageView控件的每个属性都了如指掌了吗?,记得之前面试的时候,很多面试官很喜欢问ScaleType属性的使用,这就考察你是否真的理解了。...之前我也并没有在意这个属性的使用,以为只会在面试的时候才需要用到,事实是我错了,在最近的开发过程中,使用了大量的图片展示商品的图片,而且不同的模块,图片的展示还需要不一样,那么这个时候ScaleType...[scbxnhce9h.png] 3.android:scaleType=“center_crop” 以原图填满ImageView为目的 (1).当原图的size小于ImageView的size时...[grks4jaqil.png] 6.android:scaleType=“fit_start” 把原图按照比例放大缩小到ImageView的高度,显示在ImageView的start(前部/上部)...[078l0ycz17.png] 8.android:scaleType=“fit_end” 把原图按照比例放大缩小到ImageView的高度,显示在ImageVIew的end(后部/尾部/底部)

1.5K20

Android动画:模拟开关按钮点击打开动画(属性动画之平移动画)

Android里面,一些炫酷的动画确实是很吸引人的地方,让然看了就赏心悦目,一个好看的动画可能会提高用户对软件的使用率。...本文使用属性动画完成,说到属性动画,肯定要提到 JakeWharton大神写的NineOldAndroids动画库,如果你的app需要在android3.0以下使用属性动画,那么这个库就很有作用了,如果只需要在高版本使用...首先看一下本文要实现的动画效果:手指向上移动到开关按钮处, 然后一个点击动作,开关从关到开动画执行,同时手指向下移动回到原来的位置 点击图片调转到对应Github链接查看动画 ?...mCirclePtImgv; /** 手指View */ private ImageView mFingerImgv; /** 手指移动的距离 */ private float...手指向上平移动画   b. 手指点击操作(这里不是动画,也可以当做一个简单的动画吧)   c. 开关按钮原点向右平移动画   d. 手指向下平移动画。

1.7K70

Android使用自定义ImageView实现圆形图片效果

android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然后进行裁剪圆形的...自定义的圆形的ImageView类的实现代码如下: package com.xc.xcskin.view; import android.content.Context; import android.graphics.Bitmap...android.util.AttributeSet; import android.widget.ImageView; /** * 自定义的圆形ImageView,可以直接当组件在布局中使用。...Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; } } 完成这个自定义类后,就可以使用这个类了...,就是把这个当组件在布局中使用即可,比如: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

4.5K21

Android自定义 View 实战之 StickerView

虽然Android内置了许多View供开发者组合和使用,但其多样性还是不足,在很多场景或功能需求下,Android原生自带的控件并不足以实现需求,这时我们就需要自定义满足我们需求的View。...找到了我们要操作的Sticker后,我们就可以对其进行操作了,移动操作最为简单,只涉及一根手指,在ACTION_DOWN事件中我们记录下当前Sticker的状态和事件起始坐标,在ACTION_MOVE...事件中,我们利用当前点的坐标计算出实际偏移量,利用Matrix的postTransition()方法让Sticker做出随手指移动。...一般的缩放与旋转操作都是需要两根手指,所以我们需要在ACTION_POINT_DOWN事件中监听第二根手指按下。...这时我们还需要计算出两根手指之间的距离以及中心点还有角度,因为我们要让Sticker以这个中心点为中心缩放旋转,在ACTION_MOVE事件中以新的两指尖距离/起始两指尖距离作为缩放比缩放。

1.1K90
领券