我已尝试使用以下代码更改操作栏的背景.它适用于4.3但不低于4.3.使用以下代码,正在设置null背景即.旧的背景被删除但新的背景未被设置.
请帮我.
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// Todo Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.testing);
}
/**
* Callback when button is clicked to change background
* @param v
*/
public void onStartClicked(View v) {
int Min = 0;
int Max = 2;
//Random number generator between 0 and 2 inclusive
int pos = Min + (int) (Math.random() * ((Max - Min) + 1));
if (pos == 0) {
getActionBar().setBackgroundDrawable(
getResources().getDrawable(R.drawable.header));
} else if (pos == 1) {
getActionBar().setBackgroundDrawable(
getResources().getDrawable(R.drawable.inBox_header));
} else if (pos == 2) {
getActionBar().setBackgroundDrawable(
getResources().getDrawable(R.drawable.outBox_header));
}
}
}
解决方法:
最后,我找到了解决方案.在设置背景后通过显示和隐藏动作栏的标题来实现.
getActionBar().setBackgroundDrawable(ContextCompat.getDrawable(this,R.drawable.inBox_header));
actionBar.setdisplayShowTitleEnabled(true);
actionBar.setdisplayShowTitleEnabled(false);
谢谢大家的关注.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。