簡體   English   中英

Android 如何制作自定義可繪制形狀

[英]Android how to make custom drawable shape

您好,我想在 xml 中繪制一個自定義形狀,如下所示。 如何在 android 中繪制以下形狀?

如何使用xml在android中繪制咨詢費形狀

方形.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffffff"/>

    <stroke android:width="3dp"
        android:color="@color/white"
        />

    <padding android:left="1dp"
        android:top="1dp"
        android:right="1dp"
        android:bottom="1dp"
        />

    <corners android:radius="1dp"
        android:bottomRightRadius="1dp" android:bottomLeftRadius="1dp"
        android:topLeftRadius="1dp" android:topRightRadius="1dp"/>
</shape>

創建一個名為 svg 的新可繪制對象svg

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="100dp"
    android:height="100dp"
    android:viewportWidth="100"
    android:viewportHeight="100">
    <path
        android:pathData="M78.2,90L50,61.8 21.8,90V10h56.4v40z"
        android:fillColor="@color/colorPrimary"/>
</vector>

更改pathdata以根據需要更改形狀...

在您的布局 xml 中使用它,例如:

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/svg">
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="My text"
        android:layout_centerInParent="true"/>
</RelativeLayout>

您在根標簽中忘記了這部分 android:shape="rectangle" 您可以從中選擇環形橢圓線和矩形形狀,這樣設置您的代碼

 <?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#ffffffff"/>

<stroke android:width="3dp"
    android:color="@color/white"
    />

<padding android:left="1dp"
    android:top="1dp"
    android:right="1dp"
    android:bottom="1dp"
    />

<corners android:radius="1dp"
    android:bottomRightRadius="1dp" android:bottomLeftRadius="1dp"
    android:topLeftRadius="1dp" android:topRightRadius="1dp"/>
</shape>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#ffffffff" />

    <stroke android:width="3dp"
        android:color="@color/white" />

    <padding android:left="1dp"
        android:top="1dp"
        android:right="1dp"
        android:bottom="1dp"
        />

    <corners android:radius="1dp"
        android:bottomRightRadius="1dp" android:bottomLeftRadius="1dp"
        android:topLeftRadius="1dp" android:topRightRadius="1dp"/>
</shape>

您忘記在 shape 標簽中提供 android:shape="rectangle" 。 “線”、“橢圓”、“環”也可以用於相應的形狀。 如果所有角都是 1dp,只需使用 android:radius="1dp"。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM