不显示按钮的可绘制资源

时间:2011-10-05 05:28:31

标签: android button drawable

我正在尝试按照位于http://www.dibbus.com/2011/02/gradient-buttons-for-android/的教程,但是我没有得到预期的结果。一切都很好,但是当我运行它时,我得到一个没有任何颜色,渐变甚至边框的按钮(所以我看到的实际上只是按钮文本)。按钮本身响应事件确定。

为了与尽可能多的设备兼容我使用的是android:minSdkVersion =“3”,这可能是个问题吗?

这是我的布局xml文件的一部分:

 <TableRow>
    <Button
        android:id="@+id/button_calculate"
        android:background="@drawable/copy_btn"
        android:layout_column="1"
        android:layout_span="2"
        android:padding="5dp" />
 </TableRow>

这是copy_btn.xml,位于drawables内。

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" >
         <shape>
             <solid
                 android:color="#70c656" />
             <stroke
                 android:width="1dp"
                 android:color="#53933f" />
             <corners
                 android:radius="3dp" />
             <padding
                 android:left="10dp"
                 android:top="10dp"
                 android:right="10dp"
                 android:bottom="10dp" />
         </shape>
     </item>
     <item>
         <shape>
             <gradient
                 android:startColor="#70c656"
                 android:endColor="#53933f"
                 android:angle="270" />
             <stroke
                 android:width="1dp"
                 android:color="#53933f" />
             <corners
                 android:radius="4dp" />
             <padding
                 android:left="10dp"
                 android:top="10dp"
                 android:right="10dp"
                 android:bottom="10dp" />
         </shape>
     </item>
 </selector>

由于

1 个答案:

答案 0 :(得分:0)

如果您将android:layout_height =“wrap_content”android:layout_width =“wrap_content”添加到Android Manifest中的按钮,它的工作正常。 minSdkVersion对此无动于衷,因为大多数时候它们都是向后兼容的。

什么“(实际上我所看到的只是按钮文字)”是什么意思?当你没有使用android:text属性时,你怎么能看到一个按钮文本?您的应用程序中有另一个按钮或您从代码中设置文本。请检查一下。