2015-10-12 3 views
1

У меня есть изображение на мой взгляд и кнопка. Я хочу, чтобы иметь возможность нажимать кнопку, и изображение будет двигаться вниз на 1 пиксель ...перемещение изображения с помощью кнопки android studio

Вот мой код для изображения и кнопки.

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/line_image" 
    android:layout_marginTop="130dp"/> 



<Button 
    android:id="@+id/button1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop= "400dp" 
    android:text="Closer"/> 

Как я должен это делать? Спасибо

ответ

0

Добавить android: onClick = "myMethodName", и вы можете работать с анимацией и графикой. Check this link

1

Вы можете добавить верхний край к просмотру изображений каждый раз, когда нажата кнопка:

Button button = findViewById(R.id.button1); 
final ImageView image = findViewById(R.id.image1); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    ((ViewGroup.MarginLayoutParams)image.getLayoutParams()).topMargin += 1; 
    image.requestLayout(); 
    } 
}); 

Не забудьте добавить идентификатор к ImageView.

+0

где я должен добавить этот код? В MainActivity.java, под публичной пустотой oncreate? – androooooid

+0

@androooooid под 'setContentView()'. – Simas

+0

Я получаю некоторые ошибки, когда добавляю этот код ... Я получаю ошибки на следующих словах: Button, в первой строке кода. ImageView на второй строке кода. SetOnClickListerns - третья строка кода. Посмотрите также на третью строку. Просмотр на пятой строке. Viewgroup и getlayoutParams на шестом и requestlayout на 7-м. Все они красные. Почему это? Как я могу это исправить? – androooooid

0

В вашем методе, который вызывается вашим onClickListener для кнопки, вы можете просто использовать что-то вроде этого:

ImageView imageView = (ImageView) findViewById(R.id.your_image_view_id); 
float y = imageView.getY(); 
y++; 
imageView.setY(y); 

Довольно простой.

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