Недавно я обновил приложение, чтобы встретить новые изменения в Android M (api 23), и я заметил, что в диалоге отображаются огромные изменения.Диалоговое расположение отличается от android 6.0
В частности, пространство, зарезервированное для названия, исчезло, а ограничения по ширине и высоте не соблюдаются.
Это происходит для всех диалогов и, в частности, ниже, вы можете увидеть, как диалог выхода из одного и того же вида сборки устанавливается на устройстве api 22 (слева) против api 23 (справа).
Как я могу добиться, чтобы иметь такое же представление на всех устройствах?
Вот пользовательских XML для диалогового
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="text message"
android:id="@+id/confirmDialogMessage"
android:layout_marginTop="8dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:weightSum="1"
android:background="@color/blue_mp" >
<ImageButton
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/confirmDialogNo"
android:layout_weight="0.5"
android:scaleType="fitStart"
android:src="@drawable/cancelicon"
android:layout_marginLeft="20dp"
android:background="@android:color/transparent" />
<ImageButton
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/confirmDialogYes"
android:layout_weight="0.5"
android:src="@drawable/okicon"
android:scaleType="fitEnd"
android:layout_marginRight="20dp"
android:background="@android:color/transparent" />
</LinearLayout>
</LinearLayout>
Диалог показан таким образом:
dialog = new Dialog(v.getContext());
dialog.setContentView(R.layout.dialog_confirm_refuse_layout);
dialog.setTitle(getString(R.string.options_logout));
dialog.show();
EDIT: Не могли бы вы объяснить мне, почему это изменение рендеринга происходит между апи 22 и API 23?
Спасибо, это сработало, но чтобы показать название, я узнал, как это сделать здесь http://stackoverflow.com/a/32711916/5546499 – LucioB