พื้นฐาน android - Shape Drawable - XML ที่กำหนด รูปทรงเรขาคณิต รวมถึงสี และการไล่ระดับสี

Example 1 (Simple) :


res/drawable/oval_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <gradient
        android:startColor="#FFFF0000"
        android:endColor="#80FF00FF"
        android:angle="45"/>

    <size android:height="100dp"
          android:width="100dp"/>

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

    <corners android:radius="8dp" />

</shape>

Layout file

<TextView
    android:background="@drawable/oval_shape"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" />



Example 2 : 

        // create shape object

        val bitmap: Bitmap = Bitmap.createBitmap(700, 1000, Bitmap.Config.ARGB_8888)
        val canvas = Canvas(bitmap)

        var shapeDrawable = ShapeDrawable(RectShape())

        //  1.กำหนดตำแหน่งของรูปสี่เหลี่ยม
        var left = 100
        var top = 100
        var right = 600
        var bottom = 400

        // 2.วาดรูปสี่เหลี่ยม
        shapeDrawable.setBounds( left, top, right, bottom)
        shapeDrawable.paint.color = Color.parseColor("#009944")
        shapeDrawable.draw(canvas)


        // 1.กำหนดตำแหน่งรูปไข่
        left = 100
        top = 500
        right = 600
        bottom = 800

        // 2.วาดรูปไข่
        shapeDrawable = ShapeDrawable(OvalShape())
        shapeDrawable.setBounds( left, top, right, bottom)
        shapeDrawable.paint.color = Color.parseColor("#009191")
        shapeDrawable.draw(canvas)


        // ตอนนี้เราจะได้ bitmap ที่ฝังด้วย รูปสี่เหลี่ยม และรูปไข่แล้ว

     
        // ท้ายสุด set bitmap เป็น background ให้ ImageView
        imageView.background = BitmapDrawable(resources, bitmap)







ref :