簡體   English   中英

如何在Android中以編程方式創建形狀

[英]How can I programmatically create a shape in Android

我關注了myRec.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <corners android:radius="1dp"
                android:bottomRightRadius="0dp"
                android:bottomLeftRadius="4dp"
                android:topLeftRadius="4dp"
                android:topRightRadius="0dp"/>
            <stroke 
                android:color="@color/my_button_border"
                android:width="1dp" />
            <solid android:color="@android:color/transparent" />
        </shape>
     </item>
</selector>

....並希望以編程方式創建相同的形狀,以便我可以在運行時自由更改顏色。 我該如何實現? 提前非常感謝

看一下android.graphics.drawable.ShapeDrawable類和Shape類的子類,例如:

  • PathShape
  • RectShape
  • ArcShape
  • 橢圓形
  • RoundRectShape

ShapeDrawable在構造函數中接收一個形狀,然后您就有很多函數可以修改形狀。 另外,您可以檢索與ShapeDrawable相關的Paint,以便可以更改顏色等內容。

另外, 看看這個小例子:

http://www.edumobile.org/android/android-tutorial/shape-drawing-example-in-android/

在這里您可以看到一些不同的形狀以及一些效果,例如CornerPathEffect,

暫無
暫無

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

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