Android自定义Activity标题栏

1、当Activity继承Activity时:

    隐藏标题栏:

        在onCreate方法里添加以下代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        Activity配置信息添加以下属性值:  android:theme="@android:style/Theme.NoTitleBar"

 

    自定义标题栏:

        在onCreate方法里添加以下代码:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);

        Activity配置信息添加以下属性值:     android:theme="@style/TitleTheme"

        styles.xml文件添加以下信息:

<style name="TitleTheme" parent="android:Theme">
                <item name="android:windowTitleSize">50dp</item>
                <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
                <item name="android:windowBackground">@color/white</item>
            </style>

            <style name="WindowTitleBackground">
                <item name="android:background">@color/gray</item>
            </style>

 

 

2、当Activity继承AppCompatActivity时

    隐藏标题栏:

         在onCreate方法里添加以下代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

         Activity配置信息添加以下属性值:   android:theme="@style/Theme.AppCompat.Light.NoActionBar"

 

     隐藏标题栏2:

           在onCreate方法里添加以下代码:  getSupportActionBar().hide();

           Activity配置信息添加以下属性值:   android:theme="@style/Base.Theme.AppCompat"

     自定义标题栏:

          在onCreate方法里添加以下代码:

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
            if(actionBar != null){
                actionBar.setDisplayShowHomeEnabled(false);
                actionBar.setHomeButtonEnabled(false);
                actionBar.setDisplayHomeAsUpEnabled(false);
                actionBar.setDisplayShowCustomEnabled(true);
                actionBar.setDisplayShowTitleEnabled(true);
                View layoutActionbar = LayoutInflater.from(this).inflate(R.layout.layout_titlebar, null);
                actionBar.setCustomView(layoutActionbar);
            }

            Activity配置信息添加以下属性值:   android:theme="@style/TitleTheme2"

            styles.xml文件添加以下信息:

<style name="TitleTheme2" parent="Theme.AppCompat">
                        <item name="colorPrimary">@color/gray</item>
                        <item name="android:textColorPrimary">@color/white</item>
                        <item name="android:windowBackground">@color/white</item>
                    </style>

3、创建titlebar文件

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layout_titlebar"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:id="@+id/button_backward"
            android:layout_width="60dp"
            android:layout_height="match_parent"
            android:text="&lt; 返回"
            android:background="@color/gray"
            android:textColor="@color/white"
            android:textSize="14dp" />

        <TextView
            android:id="@+id/text_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_horizontal|center"
            android:text="这是自定义标题栏"
            android:textColor="@color/white"
            android:textSize="18dp" />
    </RelativeLayout>

猜你喜欢

转载自chenjumin.iteye.com/blog/2398730