我怎样才能为 ImageView/FrameLayout 做一个特殊的圆角形状?
How could I do a special round corner shape for ImageView/FrameLayout?
如您所见here 我尝试为我的 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 Preview
当我在我的代码中做的时候:
frameLayout.setBackground(new BitmapDrawable(getResources(), bitmapPhoto.bitmap)); frameLayout.setForeground(getResources().getDrawable(R.drawable.rounded_shape));
它看起来像这样:
result on app
您可以通过圆角看到黑色边缘。
我怎样才能做这样的形状:
where the the edges are rounded and the black parts are gone already
我做了两个平行的形状。
- 一个带圆角的形状,做内角圆。
- 一个带尖角的形状,外角尖锐
所有结构都在 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>
如您所见here 我尝试为我的 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 Preview
当我在我的代码中做的时候: frameLayout.setBackground(new BitmapDrawable(getResources(), bitmapPhoto.bitmap)); frameLayout.setForeground(getResources().getDrawable(R.drawable.rounded_shape)); 它看起来像这样: result on app
您可以通过圆角看到黑色边缘。
我怎样才能做这样的形状: where the the edges are rounded and the black parts are gone already
我做了两个平行的形状。
- 一个带圆角的形状,做内角圆。
- 一个带尖角的形状,外角尖锐
所有结构都在 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>