gpt4 book ai didi

android - 标签需要一个 'drawable' 属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:35 25 4
gpt4 key购买 nike

我正在尝试为 Button 设置非常简单的样式。我只希望它在未按下时为蓝色并带有文本,而在单击时为白色并带有蓝色文本。

我试着用样式和选择器来做到这一点。

在我的布局中,我有这个 Button:

 <Button
android:id="@+id/button1"
style="@style/MyButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/login" />

res/values/styles 我有这个 styles.xml:

<style name="MyButton">
<item name="android:background">@drawable/btn_background</item>
<item name="android:textColor">@drawable/btn_textcolor</item>
</style>

当然,res/drawable 中的两个选择器,btn_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="@color/white" />
<item android:color="@color/SapphireBlue" />
</selector>

btn_textcolor.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="@color/SapphireBlue" />
<item android:color="@color/white" />
</selector>

我现在在运行应用程序或打开布局编辑器时遇到的错误是:

<item> tag requires a 'drawable' attribute

我理解消息,但我没有可绘制对象,它是一个简单的平面按钮吗。

如何创建如此简单的按钮?

更新根据this post ,它应该可以工作。

最佳答案

尝试这种方式,希望这能帮助您解决问题。

btn_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" android:state_pressed="true"></item>
<item android:drawable="@drawable/white" android:state_focused="true"></item>
<item android:drawable="@drawable/SapphireBlue" android:state_enabled="true" android:state_focused="false" android:state_pressed="false"></item>
<item android:drawable="@drawable/white" android:state_enabled="false"></item>
</selector>

btn_textcolor.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/SapphireBlue" android:state_pressed="true"></item>
<item android:color="@drawable/SapphireBlue" android:state_focused="true"></item>
<item android:color="@drawable/white" android:state_enabled="true" android:state_focused="false" android:state_pressed="false"></item>
<item android:color="@drawable/SapphireBlue" android:state_enabled="false"></item>
</selector>

关于android - <item> 标签需要一个 'drawable' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18913822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com