1
我正在尋找一種方法來關閉對話框中使用的xml內的按鈕關閉自定義對話框,或者通過按下對話框中的任意位置關閉它。我擁有的是這個;一個帶有圖像按鈕的佈局,可以打開帶有內容的自定義對話框。我已setCanceledOnTouchOutside(true);並且工作正常,但我需要填充大部分屏幕的對話框,並且用戶可能很難點擊可用的小空間。那麼,我該如何做到這一點?Android中關閉佈局中的自定義對話框
我的Java代碼:
import android.app.Activity;
import android.app.Dialog;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
public class Rose extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.rose);
ImageButton b = (ImageButton) findViewById(R.id.imageButton1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Dialog d1 = new Dialog(Rose.this);
d1.setContentView(R.layout.tariquet);
d1.setCanceledOnTouchOutside(true);
d1.show();
}
});
}
}
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true"
android:isScrollContainer="true"
android:minHeight="1100dp"
android:minWidth="650dp">
<ImageView
android:src="@drawable/rose_tariquet"
android:id="@+id/imageView1"
android:layout_height="fill_parent"
android:layout_width="fill_parent"></ImageView>
<Button android:text="X"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:layout_width="55dp"
android:layout_gravity="right"></Button>
</FrameLayout>
我似乎無法得到那個工作,不知道我做錯了什麼。我使用上面的代碼創建了一個名爲CustomizeDialog的新Java文件,並替換了ID。 – condensation 2012-01-05 02:45:58
我在編輯它,你可以試試嗎? – pengwang 2012-01-05 06:28:49
我在哪裏放?如果我把它放在代碼的末尾,我會遇到一堆語法錯誤。 – condensation 2012-01-05 20:52:56