android ActionBar自定义CustomView

来源:互联网 发布:java am pm 编辑:程序博客网 时间:2024/05/16 04:33

打造一个自定义的ActionBar效果如图

package com.demo.actionbar;import android.app.ActionBar;import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.Toolbar;public class MainActivity extends Activity {    private ActionBar mActionbar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initActionBar();    }    private void initActionBar(){        mActionbar = getActionBar();        View actionbarView =LayoutInflater.from(this).inflate(R.layout.actionbar_main,null);        ActionBar.LayoutParams layoutParams =new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,                ActionBar.LayoutParams.MATCH_PARENT);        layoutParams.gravity =Gravity.CENTER_HORIZONTAL | Gravity.CENTER_HORIZONTAL;        mActionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);        mActionbar.setDisplayShowHomeEnabled(false);        mActionbar.setDisplayShowCustomEnabled(true);        mActionbar.setDisplayShowTitleEnabled(false);        mActionbar.setCustomView(actionbarView, layoutParams);        Toolbar parent =(Toolbar) actionbarView.getParent();        parent.setContentInsetsAbsolute(0,0);    }}

定义一个layout actionbar_main.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="match_parent"    android:background="@color/colorPrimary">    <ImageView        android:id="@+id/home"        android:layout_width="32dp"        android:layout_height="32dp"        android:layout_centerVertical="true"        android:layout_marginLeft="12dp"        android:background="?android:attr/actionBarItemBackground"        android:clickable="true"        android:src="@mipmap/ic_menu_back" />    <TextView        android:id="@+id/title"        style="@android:style/TextAppearance.Material"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerVertical="true"        android:layout_marginLeft="16dp"        android:layout_toRightOf="@id/home"        android:text="标题"        android:textColor="@android:color/white"        android:textSize="20sp" /></RelativeLayout>

styles.xml


<resources>    <!-- Base application theme. -->    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">        <!-- Customize your theme here. -->        <item name="android:colorPrimary">@color/colorPrimary</item>        <item name="android:colorAccent">@color/colorAccent</item>        <item name="android:statusBarColor">@color/colorPrimaryDark</item>    </style></resources>


0 0
原创粉丝点击