我已经创建了下面的xml drawable,你可以使用它:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="-150dp"
android:right="-150dp"
android:top="-200dp">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#C72C2F" />
</shape>
</item>
</layer-list>
只需将其复制并粘贴到DRAWABLE文件夹中的half_circle.xml文件中即可。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:bottomLeftRadius="190dp"
android:bottomRightRadius="190dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<stroke
android:width="0dp" />
<gradient
android:startColor="#2196f3"
android:endColor= "#2196f3"
android:angle="90" />
</shape>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="100">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="48"
android:background="@drawable/half_filled_circle">
</RelativeLayout>
</LinearLayout>
或者
您可以定义一个包含两个Shape Drawable的LayerList Drawable,按以下顺序进行:
现在将此层列表可绘制对象设置为任何视图或布局的背景即可。
或者
您可以拥有一个九宫格图像。
Shape
类和ShapeDrawable
进行绘制。 - pskink