带有圆形颜色,背景图像和选择器的android按钮

时间:2012-11-24 17:58:50

标签: android button

现在按钮是圆角,未按下时填充纯绿色,按下时呈圆角的纯蓝色。编码如下:

我想问一下如果我想要

,如何修改以下内容
  1. 为按钮设置背景图像,而不是按下按钮而不是实心蓝色和绿色
  2. 我怎么能在按钮上添加填充因为现在所有的按钮彼此粘在一起..我已经声明了xml中的填充但没有成功
  3. 在xml中:

        <Button
            android:id="@+id/buttonC"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_span="4"
            android:background="@drawable/story_btn"
            android:onClick="buttonC_click"
            android:padding="2dp"
            android:text="abc"
            android:textSize="20dp" />
    

    在story_btn.xml

    <item android:state_pressed="true" >         
        <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
            <stroke android:width="5dp" android:color="@color/red" />
            <solid android:color="@color/blue"/>
            <padding android:left="5dp" android:top="2dp" 
                android:right="5dp" android:bottom="2dp" /> 
            <corners android:radius="15dp" /> 
        </shape>    
    </item>
    
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
            <stroke android:width="2dp" android:color="@color/black" />
            <solid android:color="@color/green"/>
            <padding android:left="5dp" android:top="2dp" 
                android:right="5dp" android:bottom="2dp" /> 
            <corners android:radius="15dp" /> 
        </shape>
    </item>
    

2 个答案:

答案 0 :(得分:2)

  1. 在story_btn.xml中,不要为每个项目指定形状,而是指定一个类似于android的绘图:drawable =“@ drawable / activity_active”。
  2. 使用Layout_margin指定按钮之间的边距。

答案 1 :(得分:0)

您可以自己放置圆形彩色图像,无需创建圆形颜色。然后,您可以为state:pressedstate:selected应用样式放置所需的图像,默认情况下,您在项目标记中有另一个图像