Android bottomRightRadius + возвышение приводит к серой полосе - PullRequest
1 голос
/ 12 июня 2019

Я сталкиваюсь с некоторым действительно странным поведением при запуске этого (тестового) макета на моем OnePlus6T, но он прекрасно работает, когда я запускаю его в эмуляторе.

Под FrameLayout появляется серая полоса, размер которой увеличивается / уменьшается в зависимости от высоты (меньшая отметка означает более широкую, но менее высокую полосу).

Это происходит только при использовании комбинации определенного угла возвышения и угла (использование простого android: radius вместо bottomRightRadius делает его нормальным). Кроме того, когда я меняю outlineProvider с фона на что-то еще, он также работает.

Кто-нибудь может подтвердить это поведение на других телефонах и / или это известная ошибка? Я попробовал это на друзьях Moto X4, и там он отлично работает.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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:background="#DCDCDC"
    tools:context=".MainActivity">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginStart="40dp"
        android:layout_marginTop="40dp"
        android:layout_marginEnd="40dp"
        android:layout_marginBottom="40dp"
        android:background="@drawable/background_rounded"
        android:outlineProvider="background"
        android:elevation="100dp">
   </FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

@drawable/background_rounded.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <solid android:color="@android:color/white" />
    <corners android:bottomRightRadius="64dp" />
</shape>

Скриншот с моего 6T Incorrect layout

Скриншот из эмулятора API28 Correct layout

...