2014-12-23 8 views
1

Я пытаюсь установить цвет панели действий, например, в Google Play Store.Как изменить цвет панели действий, как магазин Google Play

Следующий код попробуйте, но получите точно так же, как игровой магазин.

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 
    R.drawable.testresult); 
    bar = getSupportActionBar(); 

    Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { 
     @SuppressLint("NewApi") 
     @Override 
     public void onGenerated(Palette palette) { 
      Palette.Swatch vibrant = palette.getVibrantSwatch(); 
      if (vibrant != null) { 
       // If we have a vibrant color 
       // update the title TextView 
       bar.setBackgroundDrawable(new ColorDrawable(vibrant 
         .getRgb())); 

       // titleView.setBackgroundColor(
       // vibrant.getRgb()); 
       // titleView.setTextColor(
       // vibrant.getTitleTextColor()); 
      } 
     } 
    }); 
} 

Панель действий Прозрачный фон. enter image description here

Scroll enter image description here

enter image description here

Пожалуйста, помогите мне ...

ответ

1

то, что вы ищете, что я нашел один может библиотека помогает вам

https://github.com/ManuelPeinado/FadingActionBar

и благодаря ManuelPeinado, кто является автором этой библиотеки :)

+0

Скачать образец-фондовый код и запустить приложение получить Null Pointer \t на com.manuelpeinado.fadingactionbar.FadingActionBarHelperBase.createScrollView (FadingActionBarHelperBase.java:242) –

4

Может попробовать этот способ

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home); 

    mActionBarBackgroundDrawable = getResources().getDrawable(R.drawable.ab_background); 
    mActionBarBackgroundDrawable.setAlpha(0); 

    getActionBar().setBackgroundDrawable(mActionBarBackgroundDrawable); 

    ((NotifyingScrollView) findViewById(R.id.scroll_view)).setOnScrollChangedListener(mOnScrollChangedListener); 
} 

private NotifyingScrollView.OnScrollChangedListener mOnScrollChangedListener = new NotifyingScrollView.OnScrollChangedListener() { 
    public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) { 
     final int headerHeight = findViewById(R.id.image_header).getHeight() - getActionBar().getHeight(); 
     final float ratio = (float) Math.min(Math.max(t, 0), headerHeight)/headerHeight; 
     final int newAlpha = (int) (ratio * 255); 
     mActionBarBackgroundDrawable.setAlpha(newAlpha); 
    } 
}; 

enter image description here

для дополнительной мыши here

+2

Имейте в виду, что вы изменяете саму вытяжке, а не локальную копию. Если вы используете один и тот же чертеж в другом месте, он будет использовать альфу, установленную в этом коде. – GvS

3

Панель действий Навигацию можно включить, вызвав метод setDisplayHomeAsUpEnabled (true) в панели действий. Вызывая эту функцию, на панели действий будет отображаться обратная стрелка.

//get action bar 
    ActionBar actionBar = getActionBar(); 
    // Enabling Up/Back navigation 
    actionBar.setDisplayHomeAsUpEnabled(true); 

Чтобы применить цвет фона ActionBar метод использования setBackgroundDrawable() и передать ColorDrawable Instance следующим образом:

actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FCFCFC"))); 

надеюсь, что это поможет вам

Смежные вопросы