如何围绕保持相同方向的另一个点旋转 - 动画Android

时间:2017-03-24 12:17:24

标签: android android-animation

我想围绕另一个点旋转(动画)一个物体但我希望我的物体在旋转时保持相同的方向。我怎么能这样做,我们可以简单地通过调用Android函数或必须使用数学(2d矩阵公式)吗?

I want this result

我的代码:

public class MainActivity extends AppCompatActivity {

    Button button;
    float radius = 195.0f;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.t);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rotate()
            }
        });

        button.setX(button.getX() + radius);

    }
}

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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">

    <Button
        android:id="@+id/t"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="R"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

解决方案:这种轮换是一种简单的循环路径翻译&#34;:

angular.module('yourApp')
.factory('tutorFactory', function($http) {
  var tutor = {};
  tutor.getTutorByUsername = function(username){
      return $http.get('your/path/'+username)
      .then(function(resp){
        return resp;
      }, function(resp){
      return resp;
    })
  }
  return tutor;
})