java - 为每个 Activity 创建自定义操作栏

标签 java android user-interface android-activity android-titlebar

我需要为我的 Android 应用程序中的每个屏幕创建自定义标题栏。例如,在 GMail、Yahoo Mail Android 应用程序中,您是否注意到它们的标题栏因 Activity 而异?这就是我所需要的。

我浏览了很多教程,不幸的是,他们要用一个自定义标题栏替换整个应用程序的标题栏。

以下是我尝试过的

Cuatom_title.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

     <TextView
        android:id="@+id/bileeta_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="@string/_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#579bef"
        android:textSize="50sp" />

    <EditText
        android:id="@+id/search"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_gravity="right"
        android:layout_marginRight="30dp"
        android:ems="10"
        android:hint="@string/search_hint"
        android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>

MainActivity.java

//Setting custom title bar
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

setContentView(R.layout.activity_home);

//Set the custom title bar
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);

但这只是产生了错误。

如何为每个 Activity 创建自定义标题栏?

最佳答案

在你的onCreate()

 ActionBar actionBar = getActionBar();  //for higher version
 actionBar.setDisplayShowCustomEnabled(true);
 View customView=getLayoutInflater().inflate(R.layout.yourlayout, null);
 actionBar.setCustomView(customView);

或者

 ActionBar actionBar = getSupportActionBar();  //to support lower version too
 actionBar.setDisplayShowCustomEnabled(true);
 View customView=getLayoutInflater().inflate(R.layout.yourlayout, null);
 actionBar.setCustomView(customView);

关于java - 为每个 Activity 创建自定义操作栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676182/

相关文章:

具有元素限制的 Java 堆栈

java - 使用PHP echo服务器测量带宽

android - 压缩图像而不损失质量

android - LinearLayout 问题中的按钮

css - Z 索引不适用于位于披露面板一侧的下拉组件。

VB.NET 多线程。从单独的类文件中的类调用 UI 控件的 invoke

java - 使用 SAXParser 检查多个标签

android - 无法找到或实例化自定义事件 : com. mopub.mobileads.GoogleAdMobInterstitial

user-interface - 哪个 Windows 的 GUI 是最先进的?

java - 使用 Java 减小图像大小并将其保存在 MySQL 数据库中