Android Actionbar自定义标题栏

一. Android 修改actionbar的高度:

一直很纠结actionbar的高度该如何修改,现在就简单介绍一下,actionbar的高度由actionBarSize 属性决定,所以你你只要找到parent中带有该actionBarSize的属性,然后重新定义一个style就行了,例如:@android:style/Theme、@android:style/Theme.Holo 、@android:style/Theme.Holo.Light 等。

 

1. style.xml代码贴上:

<span style="font-size:18px;"><resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="CustomTitleSize" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarSize">100dip</item>
    </style>

</resources>


</span>

 

2. 在manifest.xml中的

<application
        android:label="@string/app_name"
        android:theme="@style/CustomTitleSize"
        android:icon="@drawable/ic_launcher"
         >

 

引用该样式,就可以达到修改actionbar的高度的目的。

 

注:android4.0里边有values-v11,values-v14两个文件夹分别对应的是android3.0和Andorid4.0以上,所以你可以根据不同的设备分别在文件夹里定义style.xml文件

 

二:解决Actionbar自定义标题栏不能填充满的问题:

// 自定义标题栏
  getActionBar().setDisplayShowHomeEnabled(false);
  getActionBar().setDisplayShowTitleEnabled(false);
  getActionBar().setDisplayShowCustomEnabled(true);

//加载标题栏布局
  LayoutInflater mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View mTitleView = mInflater.inflate(R.layout.custom_action_bar_layout,null);

//显示布局,通过这种方式你会发现宽度没有填充满父容器,解决之道:添加属性控制
  getActionBar().setCustomView(mTitleView);
  
//显示布局,通过这种方式你会发现宽度可以正常填充满父容器
  getActionBar().setCustomView(mTitleView,new ActionBar.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
 

 

 

 

 

Actionbar属性讲解:http://blog.csdn.net/sunyouhao/article/details/7862017#

你可能感兴趣的:(Android Actionbar自定义标题栏)