3

緑色のインジケーターライトを変更しようとしているため、AndroidToggleButtonで苦労しています。Android SDKフォルダーに、drawable\btn_toggle_bg.xmlというファイルがあります。

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

そこで、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というファイルですが、元のインジケーターとまったく同じように見えますが、これらのファイルへの参照は見つかりませんでした。

手伝って頂けますか?:)

4

1 に答える 1

3

トグルボタンウィジェットのスタイルを完全に変更せずに、置き換えようとしているリソースは、おそらく元のような9つのパッチPNGであるはずです。

プロジェクトにコピーbtn_toggle_off.9.pngして変更するか、ツールを使用して9つのパッチメタデータを自分の画像に適切に追加します。btn_toggle_on.9.pngdraw9patch

Androidの9つのパッチドローアブルの説明については、次のドキュメントを参照してください。

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"

于 2011-04-20T21:19:11.420 に答える