Android去除标题栏及自定义title栏

一、Android去标题栏方法:

1、针对单个页面进入页面的时候使用下面方法

requestWindowFeature(Window.FEATURE_NO_TITLE);

2、去除所有页面标题栏,在原本使用的主题里添加

<item name="android:windowNoTitle">true</item>

添加后如下:

<style name="AppTheme" parent="AppBaseTheme">
        <item name="android:windowNoTitle">true</item>
    </style>

二、自定义title栏

1、新建布局文件titlebar_view.xml,内容自己随便定义,我的是中间标题,左右两边都是按钮,左边一般反返回,右边其他,可以动态设置是现实文字或者图片(改变背景图),也可以动态设置什么时候显示及隐藏

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

    <TextView
        android:id="@+id/base_tv_back"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:background="@drawable/btn_back"
        android:scaleType="centerInside"
        android:textColor="#ffffff"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/base_tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:ellipsize="end"
        android:gravity="center"
        android:singleLine="true"
        android:text="@string/app_name"
        android:textColor="#fff"
        android:textSize="20sp" />
    
    <TextView
        android:id="@+id/base_tv_right_btn"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:gravity="center_vertical"
        android:orientation="horizontal" >
    </TextView>

</RelativeLayout>

2、引用,在需要用到自定义的布局中include

<include 
        android:id="@+id/comment_list_title"
        layout="@layout/titlebar_view" />

相关推荐