我有一个我想要使用的对话框的自定义布局,但是当我使用它时,它出现了错误的大小并将所有内容整合在一起。 这是我的布局代码(抱歉有点长):
<?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"
android:padding="10dp" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Task"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editTextTask"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Enter Task" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" >
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_height="wrap_content"
android:text="Priority"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_gravity="center_horizontal" android:layout_width="wrap_content"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/important_icon" android:layout_gravity="center_horizontal"/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical" android:layout_weight="1">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Category"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/folder_icon" android:layout_gravity="center_horizontal"/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Notes"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/imageView3"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_weight="0"
android:src="@drawable/notepad_icon" android:layout_gravity="center_horizontal"/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reminder"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/imageView4"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/alarm_icon" android:layout_gravity="center_horizontal"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" android:layout_gravity="center_horizontal">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Done" android:layout_gravity="center_horizontal"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" android:layout_gravity="center_horizontal"/>
</LinearLayout>
</LinearLayout>
以下是我用来初始化对话框并显示它的代码:
Context mContext = TaskListActivity.this;
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.new_note);
dialog.setTitle("Add Task");
dialog.show();
无论如何,我可以让对话框大小本身就像其他对话框中的内容一样足够吗?
答案 0 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
调用match_parent将根据需要自动调整宽度