XML Shape Drawable未显示

时间:2014-12-17 04:20:10

标签: android android-layout android-imageview android-drawable

我正在努力实现以下效果:这是一个看似浮动的圆圈:http://imgur.com/fjazcfa

为了达到这个目的,我使用了两个ImageView,每个ImageView填充了一个可绘制的形状。圆圈ImageView放置在阴影<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="56dp" android:layout_height="56dp"> <ImageView android:id="@+id/shadow_ImageView" android:layout_width="48dp" android:layout_height="48dp" android:background="@drawable/circle_shadow" android:layout_centerInParent="true"/> <ImageView android:id="@+id/color_ImageView" android:layout_width="40dp" android:layout_height="40dp" android:layout_centerInParent="true" android:src="@drawable/circle"/> </RelativeLayout> 的顶部,以显示圆圈浮动的外观。我的布局如下:

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

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

    <gradient
        android:endColor="@color/clear"
        android:startColor="@color/black"
        android:type="radial"
        android:gradientRadius="125%"/>

</shape>

我的问题是虽然两个xml形状的drawable都出现在布局预览中,但只有圆圈显示在实际设备上。以下是circle_shadow的定义,该定义未显示在设备上:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval">
    <solid android:color="@color/orange"/>
    <size
        android:width="40dp"
        android:height="40dp"/>
</shape>

以及显示在设备上的圆圈定义:

{{1}}

2 个答案:

答案 0 :(得分:1)

试试这个..在circle_shadow

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

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

    <gradient
        android:centerColor="@android:color/transparent"
        android:endColor="@android:color/black"
        android:startColor="@android:color/black" />

</shape>

答案 1 :(得分:0)

试试这个,

shadow.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item><layer-list>
            <item android:right="5dp" android:top="5dp"><shape android:shape="rectangle">
                    <corners android:bottomLeftRadius="80dp" android:bottomRightRadius="80dp" android:topLeftRadius="80dp" android:topRightRadius="80dp" />

                    <gradient android:centerColor="@android:color/transparent" android:endColor="#1A000000" android:startColor="#1A000000" />

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

<!--                     <solid android:color="#1A000000" /> -->
                </shape></item>
            <item android:bottom="10dp" android:left="10dp"><shape android:shape="rectangle">


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

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

                    <corners android:bottomLeftRadius="80dp" android:bottomRightRadius="80dp" android:topLeftRadius="80dp" android:topRightRadius="80dp" />

                    <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
                </shape></item>
        </layer-list></item>

</selector>

button.xml

<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="69dp"
        android:background="@drawable/shadow" />