View.clipToOutline (true) не влияет на solid фон округлой формы - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть проблема, на которую было дано много ответов, но я все равно не могу заставить ее работать. Я хочу иметь клип макета, чтобы его дети следовали плану своих родителей. Я сделал это настолько просто, насколько это возможно.

Макет I wi sh, чтобы он обрезал его дочерние элементы:

<LinearLayout
    android:id="@+id/parentView"
    android:layout_width="200dp"
    android:layout_gravity="center"
    android:layout_margin="40dp"
    android:layout_height="40dp"
    android:weightSum="2"
    android:background="@drawable/simple_round_rect"
    android:orientation="horizontal">
    <TextView
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:text="Option 1" />
    <TextView
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="end"
        android:layout_height="match_parent"
        android:text="Option 2" />
</LinearLayout>

Фон:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorAccent" />
    <corners android:radius="60dp" />
</shape>

Activity :

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_bajs)
    parentView.clipToOutline = true
}

Результат:

enter image description here

Ожидаемый результат - для Textviews будет обрезан текст и / или фон. выкл. Если я использую view.outlineProvider.getOutline для представления, я получаю, что наброски canClip.

Есть куча учебников, SO, android документация. Но это сводится к тому, что они говорят «Вот и все», и это явно не работает.

Есть идеи?

...