Как я могу сделать специальную форму круглого угла для ImageView / FrameLayout? - PullRequest
0 голосов
/ 19 ноября 2018

Как вы можете видеть здесь Я пытаюсь сделать закругленные углы для моего FrameLayout. Вот моя форма rounded_shape.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/transparent"/>
    <stroke android:width="@dimen/margin"
            android:color="@color/colorBackground"/>
    <corners android:radius="24dp" />
</shape>

, который выглядит тогда так: rounded_shape.xml Предварительный просмотр

Когда я делаю в своем коде: frameLayout.setBackground (new BitmapDrawable (getResources (), bitmapPhoto.bitmap)); frameLayout.setForeground (. GetResources () getDrawable (R.drawable.rounded_shape)); это будет выглядеть так: результат в приложении

Вы можете видеть черные края через закругленные углы.

Как мне сделать такую ​​фигуру: где края закруглены, а черные части уже исчезли

1 Ответ

0 голосов
/ 19 ноября 2018

Я сделал две фигуры параллельно.

  • Одна фигура с закругленными углами, делая внутренний угол закругленным.
  • Одна фигура с заостренными углами, делая внешний угол острым

Все построено в layer-list, как вы можете видеть в следующем:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="@dimen/margin"
                android:color="@color/color" />
            <corners android:radius="24dp" />
        </shape>
    </item>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="@dimen/margin"
                android:color="@color/color" />
        </shape>
    </item>
</layer-list>
...