请尊重原创,转载请注明来源。
Android中,很多时候会用到手势判断,判断用户当前的手势是移动,还是双指缩放/旋转,关于Android中的手势和gesturedetector,已经有很多人进行过研究了,因此本博客就不介绍gesturedetector了,本文主要介绍如何判断用户当前是双指缩放还是双指旋转,如果缩放,缩放了多少;如果旋转,又旋转了多少度。
本文有demo,会在文章下方附上下载链接。
为了方便说明,本文使用ImageView进行辅助说明,因为ImageView有个matrix属性,可以很方便的看到计算之后的效果。
废话不多说,直接贴代码。
主要布局如下,很简单,就是一个textView和一个imageview,需要注意,imageview的scaleType属性一定要设置为matrix才能使用矩阵改变imageView的效果
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”com.example.testcalcrotate.MainActivity” >
android:id=”@+id/image”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:scaleType=”matrix”
android:src=”@drawable/test”
/>
android:id=”@+id/text”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello_world” />
注释都写的很详细,相信你看得懂:
/**
* 移动缩放旋转的demo
*
*/
/**
* @author Administrator
*
*/
public class MainActivity extends ActionBarActivity implements OnTouchListener{
private TextView textView;
private ImageView imageView;
/**</