2015-06-02 73 views
1

我想将动作栏背景颜色更改为自定义颜色。这是我目前得到:Action Bar背景大小,Android

enter image description here

如何获得在全操作栏宽这个颜色?

我的行动吧xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:background="#0c555c" 
    android:gravity="center" 
    android:id="@+id/action_bar_title" 
    android:paddingEnd="0dp" 
    android:paddingStart="0dp" 
    android:showAsAction="ifRoom"> 
</RelativeLayout> 

onCreate方法:

RelativeLayout actionBar = (RelativeLayout)findViewById(R.id.action_bar_title); 
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setCustomView(R.layout.action_bar); 

回答

0

如果您设计您的自定义动作条不是写你这样的代码:

ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayShowCustomEnabled(true); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#8B58A3"))); 

    LayoutInflater inflater = LayoutInflater.from(this); 
    @SuppressLint("InflateParams") 
    View v = inflater.inflate(R.layout.titleview, null); 

    actionBar.setCustomView(v); 

希望它能帮助!

+0

什么意思@SuppressLint(“InflateParams”)? 感谢它的工作! – Ernis

+0

Ernis由于null的存在而被传递,这意味着“在对布局进行膨胀时,请避免作为父视图传递null,否则将忽略所有膨胀布局的根部布局参数。” 所以要忽略这个警告我们通过@suppressLint据我所知 – Umair

+0

感谢您的解释! – Ernis

0

请在末尾加上这一行。

Toolbar parent =(Toolbar)actionBar.getParent(); parent.setContentInsetsAbsolute(0,0);

+0

什么是视图?因为我没有在你身边使用那个 – Ernis

+0

它是actionBar,你在这里受到侵害的布局文件。 – Suraj

+0

mhm ..即时通讯做错了什么,因为当我在最后输入该代码时,我得到一个新的错误与java.lang.NullPointerException – Ernis