Я пытаюсь изменить цвет фона панели действий Android во время выполнения, в соответствии с изображением VibrantColor.Изменить цвет фона панели действий Android во время выполнения
Я нашел несколько ссылок, но не работал для меня.
Change action bar color in android
How do I change the background color of the ActionBar of an ActionBarActivity using XML?
У меня есть этот код, чтобы получить цвет от изображения, и она работает.
public int getImageColor(Bitmap foto) {
Palette palette = Palette.generate(foto);
List<Palette.Swatch> swatchList = palette.getSwatches();
int maiorPopulação = 0;
int color = 0;
for (Palette.Swatch sw : swatchList){
if (sw.getPopulation() > maiorPopulação) {
maiorPopulação = sw.getPopulation();
color = sw.getRgb();
}
}
return palette.getVibrantColor(color);
}
Тогда я пытаюсь установить возвращенный цвет в ActionBar:
public static void alteraCor(Fragment fragmento, int color) {
ActionBarActivity atividade = (ActionBarActivity)fragmento.getActivity();
android.support.v7.app.ActionBar actionBar = atividade.getSupportActionBar();
if (fragmento instanceof Detalhes)
actionBar.setBackgroundDrawable(new ColorDrawable(Color.rgb(
Color.red(color),
Color.green(color),
Color.blue(color)
)));
else
actionBar.setBackgroundDrawable(new ColorDrawable(fragmento.getResources().getColor(R.color.fundoEscuro)));
}
Я назвал alteraCor
от onCreate
и от onAttach
на фрагменте, но ни один из них работал.
EDIT:
Я использую на следующие Стиль:
<style name="VendasFacil" parent="@style/Theme.AppCompat">
<item name="android:textColor">@color/Fonte</item>
<item name="android:background">@color/fundoPrimeiroPlano</item>
<item name="android:windowBackground">@color/fundoPrimeiroPlano</item>
<item name="actionBarTheme">@style/VendasFacil.ActionBar</item>
<item name="android:actionBarTheme" tools:ignore="NewApi">@style/VendasFacil.ActionBar</item>
</style>
<style name="VendasFacil.ActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/fundoEscuro</item>
<item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:homeAsUpIndicator">@drawable/ic_launcher</item>
<item name="homeAsUpIndicator">@drawable/ic_drawer</item>
</style>
Я не цвет я хочу использовать в качестве фона, ранее поставить его в файл стилей. Это как если бы цвет был определен пользователем во время выполнения.
Я уже использую стили ... Я отредактировал мой вопрос, чтобы отразить его –
я не цвет я хочу использовать ранее, чтобы поместить его в файл стилей. Это как если бы цвет был определен пользователем во время выполнения. –