Android 有两个笔划和渐变的圆

Android 有两个笔划和渐变的圆,android,Android,我怎样才能像附加图像一样绘制形状 <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <stroke android:width="8dp" android:color="#00A79E"/> <solid android:colo

我怎样才能像附加图像一样绘制形状

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
    android:width="8dp"
    android:color="#00A79E"/>

<solid
    android:color="#e5e5e5"/>

  • 使用9-Patch图像给我一个损坏的图像
  • 你可以用

    LayerDrawable是一个可绘制对象,用于管理其他可绘制的数组。列表中的每个可绘制项都是按照列表的顺序绘制的,列表中最后一个可绘制项是在顶部绘制的

    
    
    输出


    为此任务制作两个可绘制文件

    第一个可绘制的笔划:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="8dp"
            android:color="#00A79E" />
    
    
    
    </shape>
    
    
    
    第二种是纯色:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
    
    
        <solid android:color="#e5e5e5" />
    
    </shape>
    
    
    
    在layout.xml中将此可绘制文件作为背景应用,如下所示

    <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/test"
            android:padding="@dimen/diam15dp">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/test2"
                android:padding="@dimen/diam15dp"
    
                android:text="sdadasdad" />
    
    
        </LinearLayout>
    
    
    
    根据需要更换填充物。 希望这会对你有所帮助。

    这正是你想要的

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- larger circle at the back -->
        <item android:gravity="center">
            <shape android:shape="oval">
    
                <solid android:color="#FFFFFF" />
    
                <stroke
                    android:width="5dp"
                    android:color="#349fab" />
            </shape>
        </item>
    
        <!-- inner circle -->
        <item
            android:bottom="10dp"
            android:gravity="center"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp">
            <shape android:shape="oval">
                <solid android:color="#CCCCCC" />
            </shape>
        </item>
    </layer-list>
    

    通过使用图层列表,您可以根据所讨论的问题来实现布局

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="oval">
                <stroke android:color="#24744f" android:width="10dp"/>
                <solid android:color="#fff"/>
            </shape>
        </item>
        <item android:top="10dp" android:bottom="10dp" android:left="10dp" android:right="10dp">
            <shape android:shape="oval">
                <gradient android:angle="90" android:startColor="@color/colorPrimary"/>
                <stroke android:color="#fff" android:width="10dp"/>
            </shape>
        </item>
    
        <item
            android:bottom="40dp"
            android:drawable="@drawable/ic_launcher_foreground"
            android:left="40dp"
            android:right="40dp"
            android:top="40dp" />
    </layer-list>
    
    
    
    结果就像附加的图像一样


    如果需要一些文本来代替android图标,该怎么办。@faisal,你需要将此渐变形状设置为视图的背景,并将文本设置为Textview。是的,按照你的建议执行此操作,但形状变为椭圆形。没问题,你可以在渐变文件中指定固定的高度和宽度,因此圆形形状将变为圆形,因为它是
    hi@FenilPatel,我们可以通过他们的方式连接吗?您的9个修补程序没有正确制作,因为您实际上可以使用9个修补程序来完成此操作。只需将文件重命名为“x.9.png”,然后选择标记。然后保存,关闭它。在后台调用“x”。不,它不是那样工作的。在构建9补丁时,需要遵循一些规则,以使其正常工作。
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="oval">
                <stroke android:color="#24744f" android:width="10dp"/>
                <solid android:color="#fff"/>
            </shape>
        </item>
        <item android:top="10dp" android:bottom="10dp" android:left="10dp" android:right="10dp">
            <shape android:shape="oval">
                <gradient android:angle="90" android:startColor="@color/colorPrimary"/>
                <stroke android:color="#fff" android:width="10dp"/>
            </shape>
        </item>
    
        <item
            android:bottom="40dp"
            android:drawable="@drawable/ic_launcher_foreground"
            android:left="40dp"
            android:right="40dp"
            android:top="40dp" />
    </layer-list>