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

时间:2013-11-27 15:14:25

标签: android button view coordinate

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

屏幕中间有一个男孩形象按钮。

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

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

我尝试了以下内容,希望能在第一步获得男孩的坐标

   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. 如何获取图像按钮的坐标?
  2. 谢谢!

3 个答案:

答案 0 :(得分:0)

关于如何在此链接的屏幕范围内移动视图有一个很好的解释:

Where does Android View.scrollTo(x, y) scroll to?

但基本上你会想要使用scrollTo(int x, int y)方法

答案 1 :(得分:0)

我使用image_boy.setX(boy_x);来解决问题,其中boy_x是一个整数,然后在触摸/触摸右键时将其值增加1,当左边是正确值时,将其值减去1触摸/触摸。

答案 2 :(得分:0)

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

你可以像这样使用它

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

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

的android文档

另请注意,所需的android SDK最低级别为11