我在Eclipse中制作了一个应用程序,但我在整理方面表现不佳。我有一个按钮,它有一个可绘制的图像和一个文本(字符串)。我希望该按钮具有圆形边缘。但我只能在按钮中使用一个drawable命令。是否可以在形状改变按钮的xml代码中传递图像?
以下是我的按钮代码:
<Button
android:id="@+id/searchbutton"
style="?android:attr/buttonStyleSmall"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_below="@+id/match4"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp"
android:background="@drawable/buttonimage2"
android:text="@string/date"
android:textColor="#000099"
android:textStyle="bold"
android:textSize="20sp" />
我可以编写这个xml代码来改变按钮形状:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#000069"
android:endColor="#ffffff"
android:angle="180"/>
<padding android:left="6dp"
android:top="6dp"
android:right="6dp"
android:bottom="6dp" />
<corners android:radius="30dp" />
</shape>
我希望这个形状有填充和角落..但渐变应该由我的&#39; buttonimage2&#39;代替。我希望我在这里很清楚。
答案 0 :(得分:0)
使用layer-list
来组合位图和drawable。使用类似下面的内容
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/buttonimage2">
<shape android:shape="rectangle" android:padding="5dp">
<corners
android:bottomRightRadius="30dp"
android:bottomLeftRadius="30dp"
android:topLeftRadius="30dp"
android:topRightRadius="30dp"/>
</shape>
</item>
</layer-list>
并将此drawable设置为Button
答案 1 :(得分:0)
使用下面的可绘制文件,假设按钮bg.xml 这是您的按钮代码
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/> --> change any color here accorring to your requirement
<corners android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp"/>
<stroke android:width="1dp"
android:color="#9c9a9b"/> --> change any color here accorring to your requirement
</shape>