android:左右按钮控制ImageButton的位置



使用活动扩展视图,在布局的底部,屏幕的左下角和右下角有一个向左和向右按钮。

在屏幕中间有一个男孩的图像按钮。

我想以一种方式实现,当用户按下左侧按钮时,男孩图像按钮将向左移动(仅限于屏幕的左侧),因此对右侧按钮的操作:男孩将向右移动。

我想知道如何实现上述目标?

我尝试了以下方法,希望能在第一步中得到男孩的坐标

   public void get_boy_location()
   {
          Rect rectf = new Rect();
          image_boy.getLocalVisibleRect(rectf);
          textView_testing.setText( 
                  "n WIDTH:"   + String.valueOf(rectf.width()) +
                  "n HEIGHT:"  + String.valueOf(rectf.height()) +
                  "n left:"    + String.valueOf(rectf.left) +
                  "n right:"   + String.valueOf(rectf.right) +
                  "n top:"     + String.valueOf(rectf.top) +
                  "n bottom:"  + String.valueOf(rectf.bottom) 
                  );
   }

但是所有值都报告为0。

问题:1.我们如何实现左右控制按钮来水平移动男孩图像按钮?

  1. 如何获取图像按钮的坐标

谢谢!!

关于如何在屏幕边界内移动视图,这里有一个很好的解释:

Android View.rollTo(x,y)滚动到哪里?

但基本上,您将希望使用scrollTo(int x, int y)方法

我改为使用image_boy.setX(boy_x);计算,其中boy_x是一个整数,然后当触摸/触摸右侧按钮时,它的值将增加1,当触摸/接触左侧按钮时,其值将减少1。

不确定这是否会对你有所帮助,但我遇到了同样的问题,我可以使用这些方法来做到这一点,setTranslationX(float)setTranslationY(float

你可以像这个一样使用它

Button button = (button) findViewById(your id); 
button.setTranslationX(a float value);

以下是提供更多信息的android文档http://developer.android.com/reference/android/view/View.html#attr_android:translationX

还请注意,所需的android SDK的最低级别是11

最新更新