在我的應用程序中,我需要用相機進行錄製。在錄製過程中,我在屏幕上顯示一些菜單項。當用戶點擊一個箭頭並在用戶觸摸屏幕時將其滑入,我需要從屏幕上滑出菜單。Android,動畫,如何從屏幕滑入和滑出佈局?
我有兩個問題。 1)看起來我的動畫不起作用。 2)當我設置RelativeLayout爲可見/不可見只是視圖生效,相機視圖不會像你在圖像中看到的那樣獲得整個屏幕(我不想看到黑色背景)。
R.anim.slide_in_up:
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android = "http://schemas.android.com/apk/res/android"
android:fromYDelta = "100%p"
android:toYDelta = "0%p"
android:duration = "3000" />
R.anim.slide_out_up:
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android = "http://schemas.android.com/apk/res/android"
android:fromYDelta = "0%p"
android:toYDelta = "100%p"
android:duration = "3000" />
代碼,用於示出slide_in_up:
rlMenu = (RelativeLayout) findViewById(R.id.rlMenu);
imHide = (ImageView) findViewById(R.id.btn_hide);
imHide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rlMenu.setVisibility(View.INVISIBLE);
overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
}
});
代碼,用於顯示slide_out_up:
@Override
public boolean onTouchEvent(MotionEvent event) {
rlMenu.setVisibility(View.VISIBLE);
overridePendingTransition(R.anim.slide_out_up, R.anim.slide_in_up);
return super.onTouchEvent(event);
}
屏幕布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:orientation = "vertical" >
<FrameLayout
android:id = "@+id/camera_preview"
android:layout_width = "fill_parent"
android:layout_height = "0dip"
android:layout_weight = "1" />
<RelativeLayout
android:id = "@+id/rlMenu"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal" >
<RelativeLayout
android:layout_width = "240dip"
android:layout_height = "50dip"
android:background = "@drawable/btn_top_edge_right"
android:layout_alignParentLeft = "true" >
<ImageView
android:id = "@+id/btn_hide"
android:layout_width = "40dip"
android:layout_height = "wrap_content"
android:src = "@drawable/btn_record_hide"
android:layout_marginTop = "10dip"
android:layout_marginBottom = "10dip"
android:contentDescription = "@string/menu_contentdescription"
android:scaleType = "fitXY" />
<ImageView
android:id = "@+id/btn_record"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:src = "@drawable/btn_record_start"
android:layout_toRightOf = "@id/btn_hide"
android:layout_margin = "10dip"
android:contentDescription = "@string/menu_contentdescription" />
<ImageView
android:id = "@+id/btn_stop"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:src = "@drawable/btn_record_stop"
android:layout_toRightOf = "@id/btn_record"
android:layout_marginTop = "10dip"
android:layout_marginBottom = "10dip"
android:contentDescription = "@string/menu_contentdescription"
android:clickable = "false" />
</RelativeLayout>
<Button
android:id = "@+id/btn_done"
android:layout_width = "wrap_content"
android:layout_height = "50dip"
android:background = "@drawable/btn_record_done"
android:layout_alignParentRight = "true"
android:text = "@string/Record_btn"
android:paddingLeft = "15dip"
style = "@style/simpletopic.bold" />
</RelativeLayout>
</LinearLayout>
如何刪除整個的RelativeLayout和放大相機視圖與我的動畫? 謝謝
你有沒有解決動畫的問題? – 2012-10-17 07:56:07