我想在圆形的图像按钮上添加一个阴影,但不能使其成为圆形。

问题描述 投票:0回答:1
<ImageButton
    android:id="@+id/btn_scan_qr"
    android:layout_width="216dp"
    android:layout_height="203dp"
    android:elevation="10dp"
    android:background="@drawable/roundbutton"
    android:src="@drawable/ic_power_settings_new_black_24dp"
    android:textSize="15dp"
    tools:layout_editor_absoluteX="97dp"
    tools:layout_editor_absoluteY="225dp"

    />

这是Xml代码

<item android:state_pressed="false"

    >
    <shape android:shape="oval">

        <corners android:radius="40dp" />
        <solid android:color="#FFFFFF"
            />

        <padding
            android:bottom="40dp"
            android:left="40dp"
            android:right="40dp"
            android:top="40dp" />
    </shape>
</item>

这是关于椭圆形状的可绘制代码,我想添加它的阴影,我已经使用了立面,但它在约束布局中没有做任何事情,但它在线性布局中做了,但它在正方形中显示阴影,但我希望它在圆形中显示。

android xml android-layout android-drawable
1个回答
0
投票

请尝试以下代码

椭圆型视图与shadowcustom_bg.xml。

 <?xml version="1.0" encoding="utf-8"?>
 <layer-list>
<item>
    <shape
        android:shape="oval" 
            xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#057F86A6"/>

        <padding
            android:top="2dp"
            android:bottom="2dp"
            android:right="2dp"
            android:left="2dp"/>
    </shape>
</item>

<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#107F86A6"/>

        <padding
            android:top="1.8dp"
            android:bottom="1.8dp"
            android:right="1.8dp"
            android:left="1.8dp"/>
    </shape>
</item>

<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#207F86A6"/>

        <padding
            android:top="1.5dp"
            android:bottom="1.5dp"
            android:right="1.5dp"
            android:left="1.5dp"/>
    </shape>
</item>


<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#357F86A6"/>

        <padding
            android:top="1.1dp"
            android:bottom="1.1dp"
            android:right="1.1dp"
            android:left="1.1dp"/>
    </shape>
</item>


<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#457F86A6"/>

        <padding
            android:top="0.9dp"
            android:bottom="0.9dp"
            android:right="0.9dp"
            android:left="0.9dp"/>
    </shape>
</item>

<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#507F86A6"/>

        <padding
            android:top="0.8dp"
            android:bottom="0.8dp"
            android:right="0.8dp"
            android:left="0.8dp"/>
    </shape>
</item>

<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#607F86A6"/>

        <padding
            android:top="0.5dp"
            android:bottom="0.5dp"
            android:right="0.5dp"
            android:left="0.5dp"/>
    </shape>
</item>

<item>
    <shape
        android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
        <solid
            android:color="#fff"/>
    </shape>
</item>

activity_main.xml

 <?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:gravity="center">

<LinearLayout
    android:layout_width="120dp"
    android:layout_height="120dp"
 android:gravity="center"
    android:background="@drawable/custom_button">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"/>
</LinearLayout>
</LinearLayout>

cusotm button shadow

© www.soinside.com 2019 - 2024. All rights reserved.