У меня есть кнопка изображения внутри RelativeLayaut. Мой imageButton имеет размер 300x350 пикселей и расположен за пределами экрана (сверху) -300 пикселей. Нажмите кнопку, опуститесь на 300 пикселей и вернитесь в исходное положение при повторном нажатии. Эффект подобен всплывающему окну.
Я мог получить этот рабочий код.
XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/pag1" android:id="@+id/relativeLayout1"
android:drawingCacheQuality="high" android:layout_width="1024px"
android:layout_height="600px">
<ImageButton android:id="@+id/imageButton8"
android:layout_width="300px"
android:layout_height="350px"
android:layout_marginLeft="720px"
android:background="@drawable/popup"
android:layout_marginTop="-300px">
</ImageButton>
</RelativeLayout>
КОД
import android.widget.RelativeLayout.LayoutParams;
...
//activity declarations
protected static final int WIDTH = 300;
protected static final int HEIGHT = 350;
int count=0;
...
///click
final ImageButton pop=(ImageButton) findViewById (R.id.imageButton8);
pop.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
count++;
if (count==1){
LayoutParams lp = new LayoutParams(WIDTH,HEIGHT);
lp.setMargins(720, -20, 4, 0);
pop.setLayoutParams(lp);
}
else{
LayoutParams lp = new LayoutParams(WIDTH,HEIGHT);
lp.setMargins(720, -300, 4, 0);
pop.setLayoutParams(lp);
count=0;
}
}
});
СЕЙЧАС я не буду добавлять плавный переход в конечное положение. Я думаю, что в цикле FOR используется функция сна. Ваша ПОМОЩЬ приветствуется