1

アクティビティを再作成せずにアクティビティのテーマを動的に変更したいのですが、私が見つけた唯一の解決策はアイテムのプロパティ (背景、テキストカラーなど) を変更することですが、ListViewいくつかのアイテムがあり、すべてのアイテムを反復処理できますListView。変更textColorしますが、それはちょっと醜い解決策だと思います。
これを達成するためのより良い方法はありますか?

前もって感謝します

4

3 に答える 3

2

getView()Adaptersメソッドで次のようなことができます。

int theme = getThemeColorFromPrefrences();

if(theme == darkTheme){
   textView.setTextColor(...);
}
else{...}

ユーザーが色を変更するたびに、次のように呼び出すだけinvalidateViews()ですListView

// set other theme color [...]
myListView.invalidateViews()
于 2013-08-09T20:39:39.600 に答える
0

ListView の行に独自のレイアウトを使用でき、レイアウト ファイルでテキストの色を指定できます。

于 2013-08-08T14:09:31.223 に答える