Android 如何生成带有外圈的圆形状
如何生成视图,如下所示 我尝试将笔划添加到cardView(材质cardView)并在recyclerView中使用它。我使用了多个视图,下面是外圈的xml代码Android 如何生成带有外圈的圆形状,android,xml,android-layout,kotlin,material-design,Android,Xml,Android Layout,Kotlin,Material Design,如何生成视图,如下所示 我尝试将笔划添加到cardView(材质cardView)并在recyclerView中使用它。我使用了多个视图,下面是外圈的xml代码 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:gravity="center">
<com.google.android.material.circularreveal.cardview.CircularRevealCardView
android:id="@+id/selectedCardColor"
android:layout_width="40dp"
android:layout_height="40dp"
android:visibility="visible"
app:cardBackgroundColor="@color/app_color_white"
app:strokeColor="@color/app_color_green"
app:strokeWidth="1dp"
app:cardCornerRadius="28dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<com.google.android.material.circularreveal.cardview.CircularRevealCardView
android:id="@+id/selectedCardInnerColor"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:layout_margin="6dp"
app:cardBackgroundColor="@color/app_color_green"
app:cardCornerRadius="28dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false" />
</com.google.android.material.circularreveal.cardview.CircularRevealCardView>
</LinearLayout>
还有圆形的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/parent"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp">
<com.google.android.material.card.MaterialCardView
android:id="@+id/unSelectedCardColor"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginTop="3dp"
android:layout_marginBottom="3dp"
app:cardBackgroundColor="@color/app_color_green"
app:cardCornerRadius="28dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false" />
</LinearLayout>
它只适用于pie(android 9)及以上版本。其他设备如下所示:
环应显示在选定视图上。我应该能够通过编程更改颜色。谢谢。如果它有效,请尝试一下……在您的可绘图文件夹中制作一个ring.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp" >
<shape >
<solid android:color= "#FF0000"/>
<corners android:radius="300dp"/>
</shape>
</item>
<item android:left="40dp" android:bottom="40dp" android:top="40dp" android:right="40dp" >
<shape >
<solid android:color= "#ffffff"/>
<corners android:radius="300dp"/>
</shape>
</item>
<item android:left="60dp" android:bottom="60dp" android:right="60dp" android:top="60dp" >
<shape >
<gradient
android:startColor="#00ffff"
android:endColor="#0000ff"
android:angle="90"/>
<corners android:radius="300dp"/>
<stroke android:width="1dp"/>
</shape>
</item>
</layer-list>
请将白色替换为背景色
你可以在任何地方使用它。例如,作为按钮的背景
您可以在第一项中更改戒指的颜色,在最后一项中更改圆形的颜色。
我可以通过编程更改颜色吗?谢谢。我可以通过编程更改颜色吗?谢谢。我会告诉你最新情况的。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="5dp"
android:left="5dp"
android:bottom="5dp"
android:right="5dp" >
<shape >
<solid android:color= "#090909"/>
<corners android:radius="400dp"/>
</shape>
</item>
<item android:left="10dp"
android:bottom="10dp"
android:top="10dp"
android:right="10dp">
<shape >
<solid android:color= "#ffffff"/>
<corners android:radius="300dp"/>
</shape>
</item>
<item
android:left="20dp"
android:bottom="20dp"
android:right="20dp"
android:top="20dp" >
<shape
android:shape="oval">
<solid
android:color="#9C27B0"/>
<size
android:width="200dp"
android:height="200dp"/>
</shape>
</item>