可绘制资源不随按钮一起显示

发布于 2024-12-08 00:45:24 字数 2001 浏览 0 评论 0原文

我正在尝试遵循位于 http://www.gradient-buttons-for-android/" 的教程。 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,位于可绘制对象内。

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

谢谢

I'm trying to follow the tutorial located at http://www.dibbus.com/2011/02/gradient-buttons-for-android/, however I'm not getting the expected result. Everything compiles fine, however when I run it I get a button without any colors, gradients, or even borders (so actually all I see is just the button text). The button itself responds to events ok.

In order to be compatible with as many devices as possible I'm using android:minSdkVersion="3", could this be an issue?

This is part of my layout xml file:

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

This is copy_btn.xml, located inside 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>

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟花易冷人易散 2024-12-15 00:45:24

如果您将 android:layout_height="wrap_content" android:layout_width="wrap_content" 添加到 Android Manifest 中的按钮,则效果很好。 minSdkVersion 与此无关,因为大多数时候它们是向后兼容的。

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

It works fine if u add android:layout_height="wrap_content" android:layout_width="wrap_content" to your button in Android Manifest. minSdkVersion has to do nothing with this as most of the times they are backward compatable.

What "(so actually all I see is just the button text)" means? How can u see a button text when u haven't used android:text attribute? Either there is another button in ur app or u r setting text from code. Do check this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文