【发布时间】:2014-07-18 03:10:21
【问题描述】:
我想创建一个自定义按钮,该按钮具有我用 CS6 创建的圆形图像的形状。
首先要自定义一个按钮,需要定义一个可绘制元素。
如果我想根据按钮的状态使用 2 个不同的图像,我可以定义一个 .xml (customize_button.xml),如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:drawable="@drawable/btn1" />
<item android:drawable="@drawable/btn2" />
</selector>
其中 btn1 和 btn2 将是放置在可绘制文件夹中的 2 个 .png 图像。
如果我想制作一个椭圆形的按钮,我应该写的 xml 文件是这样的:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<gradient
android:startColor="#6586F0"
android:centerColor="#D6D6D6"
android:endColor="#4B6CD6"
android:angle="90"/>
</shape>
最后,如果我想将此自定义按钮添加到我的应用程序中,我只需要在布局中添加:
<Button
android:id="@+id/BtnPrueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/customize_button"
/>
我的问题:
默认情况下,按钮是方形的,所以如果我想在背景中添加一个椭圆形的图像,它周围会有一个白色的间隙。有谁知道如何将两个 .xml 文件合并为一个?
【问题讨论】:
-
既然已经有了 png 图像,为什么还要创建一个椭圆形可绘制对象?
-
默认情况下 png 有一个方形的白色背景形状。我不知道是否可以通过某些程序将其删除
-
您希望您的按钮在启用/正常状态下为椭圆形,而在按下时为 btn1??
-
@Minishika 不,我想要一个像图片一样的圆形按钮。问题是,我不知道如何删除白色背景。我尝试了几件事,但我做不到。
标签: android xml image button shape