View旋转中心点

2024-06-15 12:58
文章标签 旋转 view 中心点

本文主要是介绍View旋转中心点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

改变View旋转中心点

在对Android的View对象使用setRotation方法时,View默认的锚点是其中心位置

属性动画怎么绕原点旋转?
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, “rotation”, new float[]{0,180});
这个默认是绕中心点的

在Animator中需要通过View.setPivotX和View.setPivotY方法手动给View设置中心点。
imageView.setPivotX(10);
imageView.setPivotY(10);
//是指以ImageView为坐标系(10,10)位置

此处引用鸿洋大神的代码,具体可以参考下:
http://blog.csdn.net/lmj623565791/article/details/51339751

public void pageTransform(View view, float position)
{if (position < -1){ // [-Infinity,-1)// This page is way off-screen to the left.  view.setRotation(mMaxRotate * -1);view.setPivotX(view.getWidth());view.setPivotY(view.getHeight());} else if (position <= 1){ // [-1,1]  if (position < 0)//[0,-1]{view.setPivotX(view.getWidth() * (0.5f + 0.5f * (-position)));view.setPivotY(view.getHeight());view.setRotation(mMaxRotate * position);} else//[1,0]{view.setPivotX(view.getWidth() * 0.5f * (1 - position));view.setPivotY(view.getHeight());view.setRotation(mMaxRotate * position);}} else{ // (1,+Infinity]  // This page is way off-screen to the right.  view.setRotation(mMaxRotate);view.setPivotX(view.getWidth() * 0);view.setPivotY(view.getHeight());}
}

这里写图片描述

第一页开始时滑动时,旋转中心上图原点,即(width/2 , height).

第一页滑动结束时,旋转中心在左边页面的右下角,即(width,height).

这篇关于View旋转中心点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063519

相关文章

计算绕原点旋转某角度后的点的坐标

问题: A点(x, y)按顺时针旋转 theta 角度后点的坐标为A1点(x1,y1)  ,求x1 y1坐标用(x,y)和 theta 来表示 方法一: 设 OA 向量和x轴的角度为 alpha , 那么顺时针转过 theta后 ,OA1 向量和x轴的角度为 (alpha - theta) 。 使用圆的参数方程来表示点坐标。A的坐标可以表示为: \[\left\{ {\begin{ar

KLayout ------ 旋转物体90度并做平移

KLayout ------ 旋转创建的物体 正文 正文 前段时间,有个小伙伴留言问我,KLayout 中如何旋转自己创建的物体,这里特来说明一下。 import pyapoly = pya.DPolygon([pya.DPoint(0, 0), pya.DPoint(0, 5), pya

剑指offer(C++)--左旋转字符串

题目 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! class Solution {public:string LeftRotateStri

ScrollView 往上滑动,里面的一个View停在某个位置的思路

1.scrollView的contentoffset 为view的左上角,减去此时scrollView的左上角 2.而且还不需要让那个红色的view removeFromSuperView ,直接self.view AddSubView 就会自动从原来的那个View脱离开来 3.以后遇到问题的思路。当发现UIView很许多奇特的效果的时候,思考它是不是在不断的改变父控件。 #pragma m

导航条下 ScrollView 第一个View去掉向下偏移的64px

self.automaticallyAdjustsScrollViewInsets=NO;      self.scrollView.contentInset=UIEdgeInsetsMake(-64, 0, 0, 0); self.automaticallyAdjustsScrollViewInsets=NO; 相同的意思。

android自定义View的和FramgentActivity的一个小坑

对于自定义View //加载样式TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TitleBarView, defStyleAttr, 0);setTitle(typedArray.getString(R.styleable.TitleBarView_main_title));//不能写成

Android自定义View学习笔记03

Android自定义View学习笔记03 参考gitHub上面的开源项目CircleImageView 预备知识 BitMap类 BitMap位图类,其中有一个嵌套类叫Bitmap.Config,内部有四个枚举值。这个类的作用是定义位图存储质量,即存储一个像素的位数,以及是否能显示透明、半透明颜色(Possible bitmap configurations. A bitmap co

Android自定义view学习笔记02

Android自定义view学习笔记02 本文代码来自于张鸿洋老师的博客之Android 自定义View (二) 进阶 学习笔记,对代码进行些许修改,并补充一些在coding过程中遇到的问题、学习的新东西。 相关代码 //CustomImageView.javapackage mmrx.com.myuserdefinedview.textview;import android.con

Android自定义view学习笔记01

Android自定义view学习笔记01 昨天看博客的时候看到鸿洋老师的博客里面有关于自定义view的学习教程。一直深感所掌握的东西太少太杂,按照他的Android 自定义View (一)所讲内容,代码实践。根据实际情况稍作修改,并且补充一些在代码过程中知识点,做此笔记。 相关代码 //CustomView01.javapackage mmrx.com.myuserdefinedvi

【Android面试八股文】在 Android 的 View 分发机制中有哪些反向制约的方法?

文章目录 一、在 Android 的 View 分发机制中有哪些反向制约的方法?1.1 `requestDisallowInterceptTouchEvent` 方法1.1.1 源码分析 1.2 事件回调方法中干预父 View 的行为1.2.1 示例代码 1.3 总结 一、在 Android 的 View 分发机制中有哪些反向制约的方法? 在 Android 的 View 分