gpt4 book ai didi

android - 单击按钮时旋转一定角度

转载 作者:行者123 更新时间:2023-11-30 02:14:43 26 4
gpt4 key购买 nike

即使我搜索了很多博客和教程,我也遇到了一个问题,但没有任何效果。

enter image description here

我有上面的 View ,其中粗体边框形状是没有任何文本的 TextView ,并且我有两个按钮 UP 和 DOWN(图中未显示)。现在我想以某个角度移动这个粗体边框 View 。假设我点击向上按钮然后它应该以 10 度向上的角度移动但另一端应该保持不变。有些东西像时钟的指针。每次点击 UP 按钮时,一端的 XY 坐标常量和另一端的 XY 坐标会发生一定角度的变化。这个我试过了

 float x1=txtv_legside.getLeft();  
float y1=txtv_legside.getTop();
float x2=txtv_legside.getRight();
float y2=txtv_legside.getBottom();
System.out.println("starting co-ordinates ("+x1+","+y1+")");
System.out.println("end co-ordinates ("+x2+","+y2+")");

float lenght = lengthOfLine(x1, y1, x2, y2);
txtv_legside.setRight((int) (x1+lenght* Math.cos(10*3.14/180)));
txtv_legside.setBottom((int) (y1+lenght* Math.sin(40*3.14/180)));

public float lengthOfLine(float x1, float y1, float x2 , float y2){
float length = (float) Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
System.out.println("length of line "+length);
return length;

}

但不适合我

最佳答案

  1. 在您的 Activity 类中创建一个角度变量。

    private int angle = 0;

  2. 在您的 Activity 中创建一个方法 getAngle:

公共(public) int getRotateAngle(){

angle = angle+10;
return angle*(-1);
}
  1. 在向上按钮上点击监听器:

upBtn.setOnClickListener(新的 OnClickListener() {

    @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Animation an = new RotateAnimation(angle*(-1), getRotateAngle(), 0, 25);
an.setDuration(1000); // duration in ms
an.setRepeatCount(0); // -1 = infinite repeated
an.setRepeatMode(Animation.REVERSE); // reverses each repeat
an.setFillAfter(true);
an.setFillEnabled(true);
tvView.startAnimation(an);
}
});

它的输出是: enter image description here

关于android - 单击按钮时旋转一定角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29534618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com