无法将渐变设置为圆形背景或图像视图的src

时间:2018-09-30 13:54:12

标签: android xml android-layout gradient circleimage

我创建的渐变如下

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="45"
        android:dither="true"
        android:endColor="#00cff7"
        android:startColor="#0095bf" />
</shape>

在我的XML文件中,我希望此渐变以圆形显示。

我尝试了以下操作,但渐变显示为正方形。 我尝试了以下third party library,但看不到渐变。

XML

<de.hdodenhof.circleimageview.CircleImageView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/profile_image"
    android:layout_width="96dp"
    android:layout_height="96dp"
    android:src="@drawable/blue_bg"
    app:civ_border_width="2dp"
    app:civ_border_color="#FF000000"/>

尝试了以下link,但渐变仍然是正方形。

任何有关如何实现此目标的帮助吗?

注意:我不希望将渐变创建为圆形,因为我稍后会在应用程序中重复使用

2 个答案:

答案 0 :(得分:0)

像这样使用CardView

 <android.support.v7.widget.CardView
        app:cardCornerRadius="192dp"
        android:backgroundTint="@color/colorPrimary"
        android:layout_width="96dp"
        android:layout_height="96dp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </LinearLayout>
    </android.support.v7.widget.CardView>

您不再需要CircleImageView

答案 1 :(得分:0)

您尚未指定形状:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
   <size 
       android:width="120dp"
        android:height="120dp"/>
</shape>