草庐IT

MotionEvent

全部标签

Android View事件分发机制源码分析

流程图.png简介不知道什么原因,不知道从什么时候开始,面试八股文是Android开发挥之不去的噩梦,一次又一次的去看去学,然后日常开发中轻易牵扯不到,导致逢面试就是八股文走一遍,恶心且头秃.再一次看一下事件分发的处理,追着源码看一下(有些代码不能Debug,恶心+1)整体流程屏幕点击.png点击屏幕--->WindowCallbackWrapper接收到点击-->分发给Activity-->调用PhoneWindow进行向下传递-->DecorView调用父布局的事件分发-->ViewGroupdispatchTouchEvent()然后ViewGroup,View的点击事件的分发就开始了V

java - 通过调整布局参数拖动旋转 View

我正在尝试使View跟随我的手指并使用以下代码在多点触控中进行一些旋转和缩放@OverridepublicbooleanonTouch(Viewview,MotionEventmotionEvent){finalintaction=motionEvent.getActionMasked();intnewPosX,newPosY;switch(action){caseMotionEvent.ACTION_DOWN:{finalintpointerIndex=motionEvent.getActionIndex();finalfloatx=motionEvent.getX(pointerI

java - 如何确定在android上的长按?

我正在寻找一种方法,当用户长时间触摸mapView(比如说1000毫秒)时,我可以了解如何执行某个操作。我将如何判断用户长时间触摸mapView(或任何View)的时间。它类似于安卓谷歌地图应用,当你长按时,它会弹出一个气球叠加项目。添加编辑mapView.setOnLongClickListener(newView.OnLongClickListener(){publicbooleanonLongClick(Viewv){Toast.makeText(mapView.getContext(),"Hello123",2000);returnfalse;}});上述方法不起作用...任何

java - 如何确定在android上的长按?

我正在寻找一种方法,当用户长时间触摸mapView(比如说1000毫秒)时,我可以了解如何执行某个操作。我将如何判断用户长时间触摸mapView(或任何View)的时间。它类似于安卓谷歌地图应用,当你长按时,它会弹出一个气球叠加项目。添加编辑mapView.setOnLongClickListener(newView.OnLongClickListener(){publicbooleanonLongClick(Viewv){Toast.makeText(mapView.getContext(),"Hello123",2000);returnfalse;}});上述方法不起作用...任何

android - 在android imageview中旋转缩放拖动图像

我希望能够在androidframelayout和imageview中旋转、缩放和移动图像。使用以下代码,我可以做到。但是View有时会脱离UI。正如你可以c我处理ACTION_UP中的旋转(每个ACTION_UP旋转90度)运动事件。以下是我的main.xml:以下是我的java文件:packagecom.example.rotatezoommove;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.M

android - 在android imageview中旋转缩放拖动图像

我希望能够在androidframelayout和imageview中旋转、缩放和移动图像。使用以下代码,我可以做到。但是View有时会脱离UI。正如你可以c我处理ACTION_UP中的旋转(每个ACTION_UP旋转90度)运动事件。以下是我的main.xml:以下是我的java文件:packagecom.example.rotatezoommove;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.M

Android - 可移动/可拖动的 float 操作按钮 (FAB)

我正在使用FloatingActionButton在我的应用程序中。有时,它会与基本内容重叠,所以我想制作它以便用户可以将FAB拖到一边。本身不需要拖放功能。它只需要是可移动的。文档没有提到这一点,但我确信我在其他应用程序中看到过这样的功能。任何人都可以建议/提供有关如何执行此操作的代码fragment(最好是XML格式)。 最佳答案 基于thisanswerforanotherSOquestion这是我创建的代码。它似乎工作得很好(具有工作点击功能)并且不依赖于FAB的父布局或定位......packagecom.example;

Android - 可移动/可拖动的 float 操作按钮 (FAB)

我正在使用FloatingActionButton在我的应用程序中。有时,它会与基本内容重叠,所以我想制作它以便用户可以将FAB拖到一边。本身不需要拖放功能。它只需要是可移动的。文档没有提到这一点,但我确信我在其他应用程序中看到过这样的功能。任何人都可以建议/提供有关如何执行此操作的代码fragment(最好是XML格式)。 最佳答案 基于thisanswerforanotherSOquestion这是我创建的代码。它似乎工作得很好(具有工作点击功能)并且不依赖于FAB的父布局或定位......packagecom.example;

java - 如何在 Android webview 中禁用水平滚动

我只想在我的webView中进行垂直滚动,不希望任何水平滚动。webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);这帮助我解决了滚动问题。但是使用它让我的webview看起来很奇怪。所有编辑文本的高度都被挤压(垂直)并且看起来很糟糕。还有其他方法可以禁用客户端的水平滚动吗?使用SINGLE_COLUMN如何避免webview高度变化的问题?我希望垂直外观与没有SINGLE_COLUMN时的外观相同 最佳答案 以下是我只为webView禁用水平滚动的方法。webV

java - 如何在 Android webview 中禁用水平滚动

我只想在我的webView中进行垂直滚动,不希望任何水平滚动。webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);这帮助我解决了滚动问题。但是使用它让我的webview看起来很奇怪。所有编辑文本的高度都被挤压(垂直)并且看起来很糟糕。还有其他方法可以禁用客户端的水平滚动吗?使用SINGLE_COLUMN如何避免webview高度变化的问题?我希望垂直外观与没有SINGLE_COLUMN时的外观相同 最佳答案 以下是我只为webView禁用水平滚动的方法。webV