android自定义四边形,android – 如何创建平行四边形的形状背景?
时间: 2024-03-10 12:44:57 浏览: 42
要在Android中创建自定义四边形的形状背景,可以使用ShapeDrawable类。以下是创建平行四边形形状背景的步骤:
1. 在drawable文件夹中创建一个xml文件,例如parallelogram.xml。
2. 在xml文件中定义ShapeDrawable类。
3. 在ShapeDrawable类中设置形状的类型为矩形,并设置矩形的大小和颜色。
4. 使用Path类创建一个路径,该路径将定义平行四边形的形状。
5. 使用PathMeasure类测量路径的长度,并计算出路径的四个端点。
6. 将四个端点添加到平行四边形的路径中。
7. 将路径设置为ShapeDrawable类的形状。
8. 将xml文件应用为视图的背景。
以下是一个示例的parallelogram.xml文件:
```
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<solid android:color="#FF0000" />
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
<size android:width="120dp"
android:height="80dp" />
<corners android:radius="5dp" />
<stroke android:width="2dp"
android:color="#000000" />
</shape>
```
可以在视图中使用以下代码应用此背景:
```
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/parallelogram" />
```
这将创建一个大小为120dp x 80dp的红色矩形,具有黑色边框和圆角,形状为平行四边形。