美文网首页
Android4.4 自定义actionbar

Android4.4 自定义actionbar

作者: 西门小贼 | 来源:发表于2018-06-25 20:47 被阅读0次

1、style

<style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/ClubToolbar</item>
        <item name="android:colorPrimaryDark">@color/white_fa</item>
        <item name="android:colorPrimary">@color/white_fa</item>
        <item name="android:textColorPrimary">@color/text_gray</item>
        <item name="android:windowLightStatusBar">true</item>
        <item name="android:windowContentOverlay">@null</item>//去除阴影
    </style>
<style name="ClubToolbar" parent="Widget.AppCompat.ActionBar">
        <item name="contentInsetStart">0dp</item>//去除前端空白
        <item name="contentInsetEnd">0dp</item>
        <item name="height">40dp</item>//设置高度
        <item name="elevation">0dp</item>
    </style>

2、代码,替换为自己的actionBar

private void initActionbar() {
        final View mActionBarView = getLayoutInflater().inflate(R.layout.actionbar_layout_main, null);
        ActionBar.LayoutParams lp = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
        final ActionBar actionBar = getSupportActionBar();
        actionBar.setElevation(0);
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        actionBar.setCustomView(mActionBarView,lp);
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(false);
        mTitle = mActionBarView.findViewById(R.id.title_bar);
        mTitle.setText(R.string.app_name);
    }

3、布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:background="@color/blue"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:maxLines="1"
        android:layout_marginStart="16dp"
        android:text="@string/app_name"
        android:textColor="@color/white_fa"
        android:textSize="18sp"
        android:textStyle="bold"/>
</RelativeLayout>

4、设置主题

记得给application设置主题

android:theme="@style/AppTheme"

5、核心

使用此actionbar父布局

Widget.AppCompat.ActionBar

解决,记录。希望能帮助在此处遇到各类问题的小伙伴。

相关文章

网友评论

      本文标题:Android4.4 自定义actionbar

      本文链接:https://www.haomeiwen.com/subject/fbluyftx.html