2011-04-20 58 views
3

我很努力地使用Android ToggleButton,因爲我嘗試更改綠色指示燈。在Android SDK文件夾,我發現文件繪製\ btn_toggle_bg.xml在那裏說Android ToggleButton指標

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default_small" /> 
    <item android:id="@+android:id/toggle" android:drawable="@android:drawable/btn_toggle" /> 
</layer-list> 

我複製該文件到我的項目的繪製文件夾,並改變了最後一個項目,以

<item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" /> 

然後從Android SDK中獲取原始btn_toggle.xml,並將其複製到可繪製文件夾中。 btn_toggle.xml是這樣的:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" /> 
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" /> 
</selector> 

於是我asumed,這將是必要建立btn_toggle_off.png和btn_toggle_on.png。最後我加了一行

<ToggleButton 
... 
android:background="@drawable/btn_toggle_bg" /> 

但最後,ToggleButton看起來完全是奇怪的。 我注意到的是在SDK中名爲btn_toggle_off.9.png和btn_toggle_on.9.png的文件,但我找不到這些文件的引用,儘管它們看起來像原始指示符一樣。

你能幫我嗎? :)

回答

3

如果沒有完全重新設計切換按鈕小部件,您試圖替換的資源應該可能是9個像原始文件一樣的修補程序PNG。

btn_toggle_off.9.pngbtn_toggle_on.9.png複製到您的項目並修改它們,或使用draw9patch工具將9個修補程序元數據正確添加到您自己的圖像。

請參考下面的文檔,Android的九個補丁可繪製的交代:

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

http://developer.android.com/guide/developing/tools/draw9patch.html

文件名的」 9" 。部分必須保留,但在沒有被引用XML資源。所以btn_toggle_on.9.png簡稱爲"@drawable/btn_toggle_on"

+0

啊謝謝,它現在的作品:) – martin 2011-04-20 22:35:05