最近做的项目,要求UI效果,ActionBar用透明的背景色,自动适配主背景颜色的变化。
实现代码如下
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置ActionBar 浮动到view 上层来
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
//设置ActionBar 背景色 透明
// getActionBar().setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));
//设置半透明的底色
getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg));
setContentView(R.layout.main);
initViews();
}
首先,设置ActionBar 浮动到主界面上来,不占用主界面的高度,相当与层布局,让它浮动到上一层。然后设置ActionBar的背景色,透明或者半透明。这个颜色的设置可以通过Style文件来定义。