2014-02-11 21 views
0

我正在做一個遊戲,我需要使用50-60不同的按鈕,我已經在Photoshop中。 日食給我這個錯誤代碼我該如何解決這個問題?這個項目是無法訪問,因爲以前的項目(項目#1)是一個比這更一般的比賽

(本項爲不可訪問,因爲以前的項目(項目#1)是一個比這更一般的匹配)

我在網路上搜尋,但僅在答案我發現的事情是這樣的:

在每次狀態更改期間,狀態列表從上到下遍歷,並且使用與當前狀態匹配的第一個項目 - 選擇不是基於「最佳匹配」,而是簡單的第一個符合國家最低標準的項目。

http://developer.android.com/guide/topics/resources/drawable-resource.html

你的第一個項目總是匹配,將其放置在年底,而不是....

我不偏食的好,所以我希望你能給我一步步的答案

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item android:drawable="@drawable/level1one" /> 

**<item android:drawable="@drawable/level2femti" />** 
// this one is the problem// 

<item android:drawable="@drawable/level3one" /> 
<item android:drawable="@drawable/level3two" /> 
<item android:drawable="@drawable/level3three" /> 
<item android:drawable="@drawable/level4dager" /> 
<item android:drawable="@drawable/level4timer" /> 
<item android:drawable="@drawable/level4uker" /> 
<item android:drawable="@drawable/level4måneder" /> 


</selector> 

回答

0

選擇器選擇從匹配視圖的當前狀態的第一項的項目。 因此,舉例來說,如果你有狀態的項目按真像:

<item android:state_pressed="false" android:drawable="@drawable/level1one"/> 

所以,如果按下鑑於這個項目將進行選擇,但如果你寫的與其他項目相同的狀態,如:

<item android:state_pressed="false" android:drawable="@drawable/level1one"/> 
<item android:state_pressed="false" android:drawable="@drawable/level2one"/> 

現在這兩個項目都是用於狀態按下的,所以第一個將被選中,第二個將不會被使用。

沒有定義的狀態的任何項目是用於離默認項:在上面的例子

<item android:state_pressed="false" android:drawable="@drawable/level1one"/> 
<item android:drawable="@drawable/level2one"/> 

如果按下視圖的狀態的第一個項目將被選擇別的第二。

如果第一個項目不存在,第二個項目也將被選擇爲按下狀態。

現在如果你更改順序:

<item android:drawable="@drawable/level2one"/> 
<item android:state_pressed="false" android:drawable="@drawable/level1one"/> 

這裏的第一個項目是所有國家(包括按下狀態),所以第二項也永遠不會被使用。

在您的情況下,您的多個項目具有相同的狀態(默認),因此在第一個項目之後所有都是不可到達的行。

0

對選擇器中的一種狀態使用不同的項目。

您應該爲項目添加狀態參數。例如:

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

閱讀關於選擇在機器人:

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

相關問題