2016-03-25 5 views
0

私はAndroidにはかなり新しいです。私は、ユーザーがボタンを押してから、私がすでに実装しているカラーピッカーダイアログをポップアップできるアクティビティに取り組んでいます。ユーザは、異なる色のアレイリストの中から選択することができる。問題:私が選択した色がActionBarのトップメニューに適用されるようにしたい。開発者がコード内で色を "手動で"変更する必要があるソリューションしか見つからなかったため、可能性はありますか? ColorPickerDialogで実装されたpublic void onColorSelected(int color)メソッドを使用する必要があると思いますが、ActionBarをリンクする方法はわかりません。ActionBar Colorを個別に変更しますか?

ありがとうございました。

+0

可能な重複[_really \方法\ _ Android Lollipopでプログラミング上のプライマリとアクセントの色を変更しますか?](http://stackoverflow.com/questions/25815769/how-to-really-programmatically-change-primary-and-accent-color-in-android-loll) –

答えて

0

あなたはこのようにアクションバーの色を変更することができます。

//Change Color.GREEN for your own color from the Color Picker 
ColorDrawable color = new ColorDrawable(Color.GREEN); 
getSupportActionBar().setBackgroundDrawable(color); 

あなたは、この代わりに、サポートライブラリの使用を使用していない場合:

//Change Color.GREEN for your own color from the Color Picker 
ColorDrawable color = new ColorDrawable(Color.GREEN); 
getActionBar().setBackgroundDrawable(color); 
+0

ありがとう答えのために。私はこれを試しましたが、私にエラーが表示されます: "java.lang.NullPointerException:ヌルオブジェクトリファレンス"で仮想メソッド 'void android.app.ActionBar.setBackgroundDrawable(android.graphics.drawable.Drawable)'を呼び出そうとしています " – AndrIOS

+0

getSupportActionBar()で試しましたか? – leonziyo

関連する問題