我正在设置像google play store一样设置操作栏颜色。
以下代码尝试但完全像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());
}
}
});
}
操作栏透明背景。
滚动
请帮帮我......
答案 0 :(得分: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);
}
};
点击here
答案 1 :(得分: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")));
希望这会对你有所帮助
答案 2 :(得分:1)