以下でこのレイアウトを作成しようとしていますが、必要な正しいレイアウトを取得できるようです。私が達成しようとしているのは、レイアウトを使用してダイアログボックスをカスタマイズすることです。以下のxmlを編集しようとしましたが、これがダイアログとして表示される場合、定義されたレイアウトは混乱しています。これのために私が何をする必要があるかを理解するのを手伝ってください。感謝し、楽しみにしています。ダイアログは表示されていますが、レイアウトが満たされていません。
このレイアウトは私が達成しようとしているものです:
ダイアログ:
View checkBoxView = View.inflate(this, R.layout.display_item_dialog, null);
CheckBox checkBox = (CheckBox)checkBoxView.findViewById(R.id.checkBox1);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// Save to shared preferences
}
});
checkBox.setText("Search All Images");
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Image Preferences");
builder.setMessage(" Select from below ")
.setView(checkBoxView)
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}).show();
display_item_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:text="Map Category: BEVERAGES" />
<ImageView
Android:id="@+id/imageView1"
Android:layout_width="200dip"
Android:layout_height="200dip"
Android:layout_alignParentLeft="true"
Android:layout_below="@+id/textView1"
Android:layout_marginTop="14dp"
Android:src="@drawable/sunny" />
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_centerVertical="true"
Android:text="TextView" />
<TextView
Android:id="@+id/textView3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_below="@+id/textView2"
Android:layout_marginTop="28dp"
Android:text="TextView" />
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_alignTop="@+id/imageView1"
Android:layout_marginRight="20dp"
Android:layout_marginTop="47dp"
Android:text="+" />
<Button
Android:id="@+id/button2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_above="@+id/textView2"
Android:layout_alignLeft="@+id/button1"
Android:layout_marginBottom="14dp"
Android:text="-" />
<EditText
Android:id="@+id/editText1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignLeft="@+id/button2"
Android:layout_alignRight="@+id/button2"
Android:layout_below="@+id/button1"
Android:ems="10"
Android:clickable="false" >
<requestFocus />
</EditText>
<CheckBox
Android:id="@+id/checkBox1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_below="@+id/textView3"
Android:layout_marginTop="33dp"
Android:text="CheckBox" />
</RelativeLayout>
これを試して:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" >
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Map Category: BEVERAGES" />
<LinearLayout
Android:id="@+id/linear"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="14dp"
Android:gravity="center_vertical" >
<ImageView
Android:id="@+id/imageView1"
Android:layout_width="0dp"
Android:layout_height="200dip"
Android:layout_weight="0.6"
Android:src="@drawable/ic_launcher" />
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_weight="0.4"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextView" />
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:text="+" />
<EditText
Android:id="@+id/editText1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:clickable="false" >
<requestFocus />
</EditText>
<Button
Android:id="@+id/button2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:text="-" />
</LinearLayout>
</LinearLayout>
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextView" />
<TextView
Android:id="@+id/textView3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextView" />
<CheckBox
Android:id="@+id/checkBox1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="CheckBox" />
</LinearLayout>
</ScrollView>
このチュートリアルを参照できます
http://www.mkyong.com/Android/android-custom-dialog-example/
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom);
dialog.setTitle("Title...");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Android custom dialog example!");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.ic_launcher);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();