2

现在按钮是圆角,未按下时填充为实心绿色,按下时变为实心蓝色圆角。编码如下:

我想问如果我愿意,如何修改以下内容

  1. 为按钮设置按下和未按下的背景图像,而不是纯蓝色和绿色
  2. 我怎么能在按钮上添加填充,因为现在所有按钮都互相粘在一起。我已经在 xml 中声明了填充,但没有成功

在 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>

4

2 回答 2

2
  1. 在你的 story_btn.xml 中,不要为每个项目指定一个形状,而是指定一个像 android:drawable="@drawable/activity_active" 这样的可绘制对象。
  2. 使用 Layout_margin 指定按钮之间的边距。
于 2012-11-24T18:05:11.043 回答
0

您可以放置​​圆形颜色图像本身,无需创建圆形颜色。然后您可以应用样式state:pressedstate:selected放置您想要的图像,默认情况下您在项目标签中有另一个图像

于 2012-11-25T00:48:02.580 回答