プロジェクトのボタンに動的な動作を提供できる必要があります。これまでのところ、私が得た最も近いものは、次のような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/mainmenu_button_pressed" />
<item android:state_enabled="false" android:drawable="@drawable/mainmenu_button_disabled" />
<item android:drawable="@drawable/mainmenu_button" />
</selector>
これはまさにトリックですが、質問のトピックで述べたように、私のプロジェクトではこれを動的にする必要があるので、私が何を意味するのかを説明します...
このアプリケーションにはイントロメニューがあり、いくつかのオプションには異なる画像があります。実行時(このメニューの前)にユーザーが行った選択に応じて、ボタンに異なる画像のセットを提供できるようにする必要があります。これを行う理想的な方法は次のとおりです。
<item android:state_pressed="true" android:drawable="%MAINMENU_BUTTON_PRESSED%" />
したがって、%MAINMENU_BUTTON_PRESSEDを設定するだけで、追加のコーディングを必要とせずに、セットA(A_mainpressed.png)またはB(B_mainpressed.png)を使用できます。
これを行うためのおそらく適切な方法は、OnClick関数を使用し、すべてをプログラムで実行することであることを私は知っています。ただし、私のプロジェクトに含まれる手作業の量を考慮して、動的XMLを作成してボタンに提供する方法が実際にはないことを最初に確認したかったので、そのように機能します(AFAIKのすべてのリソースがコンパイルされ、したがって、実行時に変更することはできません。また、アセットフォルダーのXMLファイルはコンパイルされていないため、機能しません。したがって、提供できるIDは生成されません)。
この動作を実現する方法はありますか、それとも飲み込んでOnClickメソッドを使用する必要がありますか?ありがとう