2013-11-27 3 views
0

В нижней части макета находится вид сверху, , слева и справа справа кнопка в правом и нижнем углу экрана ,андроид: левая и правая кнопки, управляющие положением 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. Как получить координаты кнопки изображения?

Спасибо!

ответ

0

Существует большое объяснение о том, как переместить взгляд вокруг жгутов границы экрана по этой ссылке здесь:

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

Но основно вы хотите использовать scrollTo(int x, int y) методы

0

Я вместо этого использую его, используя image_boy.setX(boy_x);, где boy_x - целое число, тогда его значение увеличится на 1, когда правая кнопка будет касаться/касаться, и вычитает ее значение на 1 при касании/касании левого.

0

Не уверен, если это поможет, но я был поражен той же проблемой, я был в состоянии сделать это, используя эти методы, setTranslationX (поплавок) setTranslationY (поплавок)

вы можете использовать его, как это

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

вот андроид документации, предоставить больше информации http://developer.android.com/reference/android/view/View.html#attr_android:translationX

также отметить, что минимальный уровень Android SDK требуется в 11

Смежные вопросы