代码之家  ›  专栏  ›  技术社区  ›  mn6vdv23g

如何在不将AppTheme更改为CustomTheme的情况下制作自定义tite条?

  •  1
  • mn6vdv23g  · 技术社区  · 11 年前

    我不喜欢CustomTheme的外观,我想保留AppTheme。

    但当我在AppTheme中使用自定义标题栏时,它会崩溃,告诉我无法组合多种样式。

    我该怎么做?

    谢谢

    1 回复  |  直到 11 年前
        1
  •  1
  •   eshbeata    11 年前

    首先为ActionBar定制布局

    选项卡标头.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/header_title"
        android:textSize="18dp"
        android:layout_gravity="center"
        android:singleLine="true"
        android:maxLines="1"
        android:paddingLeft="@dimen/dim_10"
        android:paddingRight="@dimen/dim_10"
        android:textAllCaps="false"
        android:textColor="@color/white"
        />
       </LinearLayout>
    

    然后在您的活动呼叫中(启用主页按钮)

        getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME);
        getActionBar().setCustomView(R.layout.tab_header);
    
        getActionBar().setHomeButtonEnabled(true);
        getActionBar().setDisplayHomeAsUpEnabled(true);
    

    不带主页按钮

        getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        getActionBar().setCustomView(R.layout.tab_header);
    
        getActionBar().setHomeButtonEnabled(true);
        getActionBar().setDisplayHomeAsUpEnabled(true);