Я пытаюсь установить простой диалог, но я не могу контролировать высоту. Это всегда максимальная высота экрана. Есть ли способ заставить его правильно обернуть содержимое?Высота диалогового окна Android
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save"
android:id="@+id/buttonSave"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:textAlignment="center"
style="?attr/borderlessButtonStyle"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@android:string/cancel"
android:id="@+id/buttonCancel"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/buttonSave"
style="?attr/borderlessButtonStyle"/>
</RelativeLayout>
.
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.save_dialog);
dialog.setTitle(R.string.saveAs);
dialog.show();
Постарайся добавить 'dialog.getWindow() setLayout (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)' перед показом диалога.. Работает для 'DialogFragment'. – Patrick
Царапина: у вас есть 'android: layout_alignParentBottom =" true "' в вашем XML. Это заставляет вашу кнопку располагаться в самом низу доступного для нее пространства, что делает «RelativeLayout» более похожим на layout_height, чем wrap_content. Почему бы просто не использовать 'LinearLayout' с' android: orientation = "horizontal" '? – Patrick
Это одна из немногих вещей, которые я не настраивал, так что это может иметь смысл, но если так: какой ужасный дизайн! Причина, по которой я использую RelativeLayout, заключается в том, что в диалоговом окне будет еще дюжина вещей, и я редко использую 'LinearLayout' для сложных макетов (штрафы с вложенными макетами и т. Д.). Вышесказанное - это то, что я разрезал его минимально до тех пор, пока, наконец, не перейду «WTF!?!?!?», Lol. Я проведу около двух часов и продолжу. – Anthony