Я пытаюсь показать настраиваемый AlertDialog, но каким-то образом webView не отображается только в Realme Pro. Он отображается в Xiomi Redmi note 5.
Вот код настраиваемой раскладки -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/colorAccent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:visibility="visible"
android:background="@color/colorPrimary"
/>
<TextView
android:id="@+id/items_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/_0_items"
style="@style/important_textview_style"
android:layout_marginTop="8dp"
android:padding="@dimen/component_padding"
android:textColor="@color/color_white"/>
<TextView
android:id="@+id/price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/rupees_0"
android:layout_below="@+id/items_tv"
android:padding="@dimen/component_padding"
style="@style/important_textview_style"
android:textColor="@color/color_white"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_gravity="center"
android:background="@color/colorAccent"
android:layout_marginBottom="8dp"
>
<com.google.android.material.button.MaterialButton
android:id="@+id/cancel_button"
style="@style/button_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/edit"
app:layout_constraintEnd_toStartOf="@+id/checkout_button"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<Button
android:id="@+id/checkout_button"
style="@style/button_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/checkout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/cancel_button"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
Код AlertDialog -
private void showCartDetailsDialog(View view) {
AlertDialog cartDialog = new MaterialAlertDialogBuilder(getActivity())
.setView(R.layout.cart_detail_dialog).show();
cartDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
setDialogButtonClickListener(cartDialog);
bindDataToDialog(cartDialog); //In this method I m just showing the HTML in webview.
}
Примечания -
Приложение показывает два TextView и две кнопки из настраиваемого макета, но веб-просмотр не отображается. Я попытался установить фиксированную высоту для веб-просмотра, теперь он работает нормально, но мне просто любопытно, почему веб-просмотр с layout_weight = 1 и height = "0dp" не работает.
Как ни странно, это происходит только с Realme Pro mobile.
Вот скриншот вида дизайна в редакторе XML.
Спасибо!