1

次のようなことが可能です:

if (colorScheme == 1)
    button.setBackgroundResource(R.drawable.button + "_1")

drawable フォルダーに button_1.png、button_2.png、button_3.png という名前のファイルがある場合、R.drawable.button_1 を配色 1 のこのボタンのリソースとして使用します。(使用されている配色に基づいて、同じ UI 要素に異なるリソース ファイルを動的に使用しますか?)

ありがとう、

4

3 に答える 3

2

私は getIdentifier() を使用して似たようなことをしました:

int resId = context.getResources().getIdentifier("button_1","drawable",context.getPackageName());
button.setBackgroundResource(resId);
于 2012-05-18T16:33:35.357 に答える
1

動的にするために、いくつかのコードが必要になります。次のようにxmlでレイアウトを設定できます。

<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

そして、次のようにコードで参照します。

int resId = context.getResources().getIdentifier("button_1","drawable",context.getPackageName());
Button button = (Button view.findViewById(R.id.button1);
button.setBackgroundResource(resId);

私はこれをテストしていませんが、これはあなたにアイデアを与えるはずです。

于 2012-05-19T20:56:22.483 に答える
0

R.drawable.button_n配列に入れてint res[]から呼び出すbutton.setBackgroundResource(res[i])

于 2012-05-18T16:15:19.467 に答える