按钮形状与Eclipse中的图像

时间:2014-06-14 12:03:06

标签: android xml eclipse button

我在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;代替。我希望我在这里很清楚。

2 个答案:

答案 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>