我創建具有這種佈局的定製對話框(冠軍,圖像,文本,2個按鈕):機器人 - 對話不工作
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:background="@color/white">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="30dip"
android:paddingTop="10dip">
<ImageView
android:id="@+id/dialog_title_image"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/info"/>
<TextView
android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_centerInParent="true"
android:text="Title"
android:layout_toRightOf="@id/dialog_title_image"
android:textColor="@color/black"
android:textSize="30sp"/>
</RelativeLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="2dip"
android:background="@color/header_grep"
android:layout_marginTop="5dip"/>
<TextView
android:id="@+id/dialog_msg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/dark_gray"
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:gravity="bottom|center_horizontal"
android:paddingBottom="5dip">
<Button
android:id="@+id/positive_button"
android:layout_alignParentLeft="true"
android:layout_width="100dip"
android:layout_height="wrap_content"
style="@style/Gradient"
android:text="Si"/>
<Button
android:id="@+id/negative_button"
android:layout_width="100dip"
style="@style/Gradient"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/positive_button"
android:text="No"/>
</RelativeLayout>
</LinearLayout>
這是CustomDialog.java
public class CustomDialog extends Dialog {
Context context;
public CustomDialog(Context context) {
super(context);
// TODO Auto-generated constructor stub
this.context = context;
}
public CustomDialog(Context context, int theme) {
super(context, theme);
// TODO Auto-generated constructor stub
this.context = context;
}
public CustomDialog(Context context, boolean cancelable,
OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.custom_dialog);
}
}
這在方法我實現顯示它:
private void showDialog(String msg, String title)
{
final Dialog dialog = new CustomDialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog);
TextView title_dialog = (TextView) dialog.findViewById (R.id.dialog_title);
title_dialog.setText(title);
TextView text = (TextView) dialog.findViewById(R.id.dialog_msg);
text.setText(msg);
Button positiveButton = (Button) dialog.findViewById(R.id.positive_button);
Button negativeButton = (Button) dialog.findViewById(R.id.negative_button);
positiveButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
finish();
}
});
negativeButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
dialog.dismiss();
}
});
dialog.show();
}
當我啓動應用程序和對話
所示,標題和文本是那些d在xml文件中定義(所以'標題'和對話框的主體沒有任何內容),如果我點擊按鈕沒有任何反應。 任何人都可以幫助我嗎?先謝謝你。
嘗試'最終對話框=新對話框(YourActivity.this);' –
謝謝你的傢伙!它現在有效!你能解釋我做錯了什麼嗎? – SegFault
@SegFault你做了什麼改變,使其工作? – keshav