在android中创build一个3d形状的button

我试图创build一个类似于这里的圆形button的button –
http://livetools.uiparade.com/index.html
(每个button看起来像是在一个沉浸的部分)我已经通过放置button
在一个圆圈的背景下,给他们两个渐变,没有结束了一样的
虽然我得到了这个结果 –

在这里输入图像说明

(我会一次性上传我的代码)我怎样才能达到同样的目的?

Related of "在android中创build一个3d形状的button"

试试这个代码。 我能够产生一个像这样的图像

Android的xml按钮

这与您使用以下代码链接到的第一个button类似。 关键是使用<layer-list>来将形状叠加在一起,以产生所需的效果。

文件:res / drawable / button.xml

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Outside border/shadow --> <item> <shape android:shape="oval"> <size android:width="200dp" android:height="200dp" /> <gradient android:angle="90" android:startColor="#f4f4f4" android:endColor="#b9b9b9" /> </shape> </item> <!-- Inset --> <item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp"> <shape android:shape="oval"> <gradient android:angle="90" android:startColor="#dcdcdc" android:endColor="#c9c9c9" /> </shape> </item> <!-- Inside border/shadow --> <item android:top="15dp" android:left="15dp" android:right="15dp" android:bottom="15dp"> <shape android:shape="oval"> <gradient android:angle="90" android:startColor="#8c8c8c" android:endColor="#cbcbcb" /> </shape> </item> <!-- Main button --> <item android:top="16dp" android:left="16dp" android:right="16dp" android:bottom="16dp"> <shape android:shape="oval"> <solid android:color="#ffffff" /> </shape> </item> <!-- Button image --> <item android:top="70dp" android:left="70dp" android:right="70dp" android:bottom="70dp"> <shape android:shape="rectangle"> <solid android:color="#3b88c2" /> <corners android:radius="20dp" /> </shape> </item> <item android:top="75dp" android:left="75dp" android:right="75dp" android:bottom="75dp"> <shape android:shape="rectangle"> <solid android:color="#ffffff" /> <corners android:radius="20dp" /> </shape> </item> <item android:top="80dp" android:left="80dp" android:right="80dp" android:bottom="80dp"> <shape android:shape="rectangle"> <solid android:color="#3b88c2" /> <corners android:radius="20dp" /> </shape> </item> </layer-list> 

在你的主布局中,添加一个ImageView来显示这个图像。

 <ImageView android:src="@drawable/button" /> 

您可以通过在Java代码中给它一个OnClickListener来使ImageView可点击。

转到此链接并生成自定义3Dbutton。

http://angrytools.com/android/button/

buttonshape.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="30dp" /> <gradient android:gradientRadius="45" android:centerX="35%" android:centerY="50%" android:startColor="##4CAB0B" android:endColor="#004507" android:type="radial" /> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> <size android:width="270dp" android:height="60dp" /> <stroke android:width="3dp" android:color="#0B8717" /> </shape> 

button代码

 <Button android:id="@+id/angry_btn" android:text="Button" android:textColor="#FFFFFF" android:textSize="30sp" android:layout_width="270dp" android:layout_height="60dp" android:background="@drawable/buttonshape" android:shadowColor="#A8A8A8" android:shadowDx="3" android:shadowDy="2" android:shadowRadius="8" />