iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >android 倾斜view 手动转动动画 随手势左右转动
  • 873
分享到

android 倾斜view 手动转动动画 随手势左右转动

view手势动画Android 2022-06-06 14:06:48 873人浏览 薄情痞子
摘要

activity: package com.manss.myapplication import Android.annotation.SuppressLint import android.os.Bundle import a

activity:


package com.manss.myapplication
import Android.annotation.SuppressLint
import android.os.Bundle
import android.view.MotionEvent
import android.view.View
import android.view.View.OnTouchListener
import android.widget.RelativeLayout
import androidx.appcompat.app.AppCompatActivity

class RotateActivity : AppCompatActivity(), OnTouchListener {
    private var mRoot: RelativeLayout? = null
    private var mCircle: RelativeLayout? = null
    var i = 0
    var viewRotation = 0f
    var fingerRotation = 0.0
    var newFingerRotation = 0.0
    private var mImage: View? = null
    @SuppressLint("ClickableViewAccessibility")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_rotate_image)
        mRoot = findViewById(R.id.root)
        mCircle = findViewById(R.id.circle)
        mImage = findViewById(R.id.rotate_image_image)
        mRoot?.setOnTouchListener(this)
        val mIndex = intArrayOf(0)
    }
    override fun onTouch(v: View, event: MotionEvent): Boolean {
        val x = event.x
        val y = event.y
        //以控件中心为旋转中心
        val xc = mRoot!!.width / 2.toFloat()
        val yc = mRoot!!.height / 2.toFloat()
        when (event.action) {
            MotionEvent.ACTION_DOWN -> {
                viewRotation = mCircle!!.rotation //记录当前点击时的角度
                fingerRotation = Math.toDegrees(
                    Math.atan2(
                        x - xc.toDouble(),
                        yc - y.toDouble()
                    )
                )
            }
            MotionEvent.ACTION_MOVE -> {
                newFingerRotation = Math.toDegrees(
                    Math.atan2(
                        x - xc.toDouble(),
                        yc - y.toDouble()
                    )
                )
                mCircle!!.rotation = (viewRotation + newFingerRotation - fingerRotation).toFloat()
            }
            MotionEvent.ACTION_UP -> {
                newFingerRotation = 0.0
                fingerRotation = newFingerRotation
            }
        }
        return true
    }
}


activity_rotate_image.xml文件


android:rotationX="25"

表示绕X轴旋转25度,达到倾斜效果


作者:SmallWalnutBG


--结束END--

本文标题: android 倾斜view 手动转动动画 随手势左右转动

本文链接: https://www.lsjlt.com/news/29643.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android手势左右滑动效果
    最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, OnGestureListener这个两个接...
    99+
    2023-05-30
    android 手势 滑动
  • Android实现手势滑动和简单动画效果
    一、手势滑动Activity都具有响应触摸事件,也就是说只要触摸Activity,他都会回调一个onTouchEvent()方法。但是在这个方法里无法处理事件,需要配合使用手势识别器(GestureDetector)中的方法onTouchE...
    99+
    2023-05-31
    android 手势滑动 roi
  • Android实现旋转动画
    本文实例为大家分享了Android实现旋转动画的具体代码,供大家参考,具体内容如下 旋转动画(可加速、减速) 1、准备工作 首先需要有一个用于旋转的图片 需要考虑如何开始、结束、加速...
    99+
    2024-04-02
  • vue router如何实现自动判断左右翻页转场动画效果
    这篇文章将为大家详细讲解有关vue router如何实现自动判断左右翻页转场动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 。首先父页面home.vue:<...
    99+
    2024-04-02
  • Android嵌套RecyclerView左右滑动替代自定义view
    以前的左右滑动效果采用自定义scrollview或者linearlayout来实现,recyclerview可以很好的做这个功能,一般的需求就是要么一个独立的左右滑动效果,要么在一个列表里的中间部分一个左右滑动效果而列表里面也容易,只是需要...
    99+
    2023-05-31
    android recycleview 滑动
  • CSS3如何实现同时执行倾斜和旋转的动画效果
    这篇文章主要介绍了CSS3如何实现同时执行倾斜和旋转的动画效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先看看静态的效果,运行后的效果更...
    99+
    2024-04-02
  • Android如何实现自定义View圆形和拖动圆跟随手指拖动
    这篇文章主要介绍Android如何实现自定义View圆形和拖动圆跟随手指拖动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!单纯的自定义一个圆非常简单 只需要几步就完成 拖动圆添加实现触摸事件即可 我在第一次自定义Vi...
    99+
    2023-05-30
    android view
  • Android实现简单旋转动画
    本文实例为大家分享了Android实现简单旋转动画的具体代码,供大家参考,具体内容如下 核心方法 public void startAnimation(Animation anima...
    99+
    2024-04-02
  • android转场动画怎么实现
    要实现Android转场动画,可以使用Android提供的转场动画框架或自定义转场动画。1. 使用Android转场动画框架:- 在...
    99+
    2023-08-17
    android
  • Android如何实现旋转动画
    本篇内容主要讲解“Android如何实现旋转动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android如何实现旋转动画”吧!1、准备工作首先需要有一个用于旋转的图片需要考虑如何开始、结束、...
    99+
    2023-06-26
  • Android如何实现自定义view圆并随手指移动
    这篇文章主要介绍了Android如何实现自定义view圆并随手指移动,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下main代码public class&...
    99+
    2023-05-30
    android view
  • iOS实现手动和自动屏幕旋转
    本文实例为大家分享了iOS实现手动和自动屏幕旋转的具体代码,供大家参考,具体内容如下 首先iPhone中屏幕分为状态栏方向和设备方向 typedef NS_ENUM(NSIntege...
    99+
    2024-04-02
  • HTML如何实现移动端手指操控左右滑动的菜单
    这篇文章主要介绍HTML如何实现移动端手指操控左右滑动的菜单,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下<!DOCTYPE html> ...
    99+
    2024-04-02
  • CSS动画教程:手把手教你实现旋转特效
    引言:CSS动画是现代网页设计的重要组成部分之一,通过CSS动画可以为网页增加交互性和视觉吸引力。本文将教你如何使用CSS实现一个简单而漂亮的旋转特效,通过简单的代码示例,让你轻松掌握该技巧。创建HTML结构:首先,我们需要创建一个HTML...
    99+
    2023-10-21
    CSS动画 手把手教 旋转特效
  • Android如何实现自定义View圆形和拖动圆、跟随手指拖动效果
    小编给大家分享一下Android如何实现自定义View圆形和拖动圆、跟随手指拖动效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!单纯的自定义一个圆非常简单 只需要几步就完成 拖动圆添加实现触摸事件即可我在第一次自定义Vi...
    99+
    2023-05-30
    android view
  • Android转场动画深入分析探究
    目录早期的转场Material Design 转场动画Material Motion 动画MaterialContainerTransformShared axisFade Thro...
    99+
    2022-11-13
    Android转场动画 Android动画
  • Android绘制旋转动画方法详解
    目录1、准备工作2、加速减速原理3、初始化4、开始5、加速6、减速7、停止8、项目源码Layout部分MainActivity部分1、准备工作 首先需要有一个用于旋转的图片 需要考虑...
    99+
    2024-04-02
  • CSS动画教程:手把手教你实现旋转缩放特效
    CSS动画是实现网页交互效果的重要技术之一。本教程将手把手地教你如何使用CSS实现旋转缩放特效。在学习本教程之前,请确保你对CSS基础有一定的了解。准备工作在开始之前,你需要一个编辑器来编写代码,比如Sublime Text、Visual ...
    99+
    2023-10-21
    CSS动画 缩放 旋转
  • Android如何实现翻转动画效果(卡片翻转)
    目录前言需求一、先介绍三个插值器二、实现步骤1.效果图2.布局3.逻辑判断(是否隐藏)4.翻转动画5.bug出现6.bug解决三、源码四、总结前言 最近好友问计蒙翻转动画,恰好在大...
    99+
    2024-04-02
  • Android实现手势滑动识别功能
    对于Android中的手势识别可以从以下三个Listener入手——OnTouchListener、OnGestureListener、OnDoubleTapListener。这三个监听器分别是触摸监听、手势滑动监听和屏幕双击操作监听。很多...
    99+
    2023-05-31
    android 手势 滑动
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作