这就是我实现的方式。使用inset
drawable,我们可以轻松实现这一点,并且我们可以用更少的代码进行更多的定制。用这个twoside_border.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- inset: It can remove border from any other side-->
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetBottom="-15dp"
android:insetRight="-15dp">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rectangle">
<stroke
android:width="20dp"
android:color="#ED302F" />
<!--<corners
android:topLeftRadius="20dp"
/>-->
<!--<solid android:color="#f50a0a" />-->
</shape>
insetBottom
& insetRight
-dp values 有助于隐藏我们不需要的边框并作为输出:
两侧边框图像
要获得拐角曲线,请删除上面代码中的注释行
<corners android:topLeftRadius="20dp"/>
现在我们可以看到曲线弯曲
带有曲线图像的边框
xml
在下面我如何使用它frame layout
并根据您的需要调整填充或边距,使其适合看起来像框架的边框图像。
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
android:scaleType="centerCrop"
android:src="@drawable/your_image_file" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/twoside_border" />
</FrameLayout>