我的alertDialog没有包含它的内容,我尝试了很多解决方案,但没有工作我改变了风格,使用了Dialog和...... 我希望AlertDialog包含其内容。
我得到了这个
但我想要这个
自定义布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/settings_ll"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:padding="5dp"
android:layout_margin="10dp"
>
<TextView
android:id="@+id/font_selection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="انتخاب قلم:"
android:textColor="#000000"
android:padding="10dp"
android:background="#eeeeee"/>
<Spinner
android:id="@+id/font_selection_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:spinnerMode="dropdown"
/>
<TextView
android:id="@+id/size_selection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="اندازه قلم"
android:textColor="#000000"
android:padding="10dp"
android:background="#eeeeee"/>
<LinearLayout
android:id="@+id/select_font_size_ll"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/settings_small_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ریز"/>
<Button
android:id="@+id/settings_normal_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="معمولی"/>
<Button
android:id="@+id/settings_big_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="درشت"/>
</LinearLayout>
<TextView
android:id="@+id/sample_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:layout_gravity="center"
android:gravity="center"
android:text="این یک جمبه ی نمونه است"
/>
AlertDialog.java:
public class SettingsDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout
View view = inflater.inflate(R.layout.settings_layout, null);
builder.setView(view);
return builder.create();
}
}
答案 0 :(得分:2)
在android对话框中,通常采用宽度最小的视图宽度。将您的微调器的layout_width
属性设置为match_parent
,您将获得所需的结果。
答案 1 :(得分:0)
将您的父线框布局高度和宽度设置为match_parent,然后尝试:
?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/settings_ll"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
答案 2 :(得分:0)
对于父母match_parent
作为宽度的孩子,您不能指望wrap_content
。因此,将主要布局宽度设置为match_parent
您的微调器也需要match_parent
进行宽度检查我的示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title Text"
android:gravity="right"
android:textSize="20sp"
android:padding="10dp"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="50dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Second Title"
android:gravity="right"
android:textSize="20sp"
android:padding="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 3"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Bottom text"
android:gravity="center"/>
</LinearLayout>