我想在Android Studio中创建一个选择器。我在res.layout文件夹中创建了一个名为“button_hover.xml”的文件。
的 button_hover.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content" android:layout_width="wrap_content">
<item android:state_focused="true" android:drawable="@drawable/bg1.png"/>
<item android:state_pressed="true" android:drawable="@drawable/bg2.png" />
<item android:drawable="@drawable/bg3.png" />
</selector>
bg1.png,bg2.png,bg3.png存在于我的drawable文件夹中,我可以使用Ctrl + Space来调用它们,但是当我运行应用程序时,控制台显示错误:
Error:(5, 58) No resource found that matches the given name (at 'drawable' with value '@drawable/bg1.png').
Error:(6, 58) No resource found that matches the given name (at 'drawable' with value '@drawable/bg2.png').
Error:(7, 29) No resource found that matches the given name (at 'drawable' with value '@drawable/bg3.png').
我该如何解决?
答案 0 :(得分:0)
请你检查它们是在res / drawable下创建的,看起来它们来自以下文件夹中的任何一个:
Instatiate()
如果您正在使用Android,那么从结构顶部选择Project,您会看到您的绘图在哪个文件夹下,如果您没有使用所有尺寸,它们应该是可绘制的。
答案 1 :(得分:0)
选择器XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/select_true" />
<item android:state_focused="true"
android:drawable="@drawable/select_false" />
<item android:drawable="@drawable/select_false" />
</selector>
select_true XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="#44ffffff"></solid>
<stroke android:color="#ffffff"
android:width="1.2dp"/>
</shape>
select_false XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="#00ffffff"></solid>
<stroke android:color="#ffffff"
android:width="1.3dp"/>
</shape>