簡體   English   中英

如何從 Android ActionBar 中刪除標題文本?

[英]How do you remove the title text from the Android ActionBar?

我正在瀏覽Holo.Light主題,我似乎找不到可以覆蓋的神奇樣式來擺脫我的應用程序首次啟動時短暫顯示的標題文本。

我怎樣才能做到這一點?

嘗試:

 getActionBar().setDisplayShowTitleEnabled(false);

對於 v.7:

 getSupportActionBar().setDisplayShowTitleEnabled(false);

我認為這是正確的答案:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome|useLogo</item>
    <item name="displayOptions">showHome|useLogo</item>
</style>

我對 Android 很陌生,所以如果我錯了,請糾正我,但我認為如果您決定在操作欄上使用導航選項卡,它們似乎沒有完全左對齊,因為標題文本顏色只是透明的並且沒有t走了。

<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
     <item name="android:displayOptions">useLogo|showHome</item>
</style>

為我工作。

知道了。 你必須覆蓋

android:actionBarStyle

然后在您的自定義樣式中,您必須覆蓋

android:titleTextStyle

這是一個示例。

在我的 themes.xml 中:

<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

在我的styles.xml中:

<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/NoTitleText</item>
        <item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>

<style name="NoTitleText">
        <item name="android:textSize">0sp</item>
        <item name="android:textColor">#00000000</item>
</style>

我不確定為什么將 textSize 設置為零並沒有解決問題(它縮小了文本,但沒有讓它消失),但是將 textColor 設置為透明有效。

在您的清單中

<activity android:name=".ActivityHere"
     android:label="">

在下面寫下這個聲明

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

如果擴展 AppCompactActivity 使用getSupportActionbar()如果擴展 Activity 使用getActionBar()否則它可能會給

null pointer exception

AndroidManifest.xml使用android:label=""進行活動也有效,但您的應用不會出現在Recently used apps

你有兩個選擇:

第一的:

getActionBar().setDisplayShowTitleEnabled(false);

如果使用getActionBar()產生空指針異常,則應使用getSupportActionBar()

第二

getSupportActionBar().setTitle("your title");

要么

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();

我在應用程序清單中使用此代碼

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/logo2"
        android:label="@string/title_text"
        android:theme="@style/Theme.Zinoostyle" >

我的徽標文件是 200*800 像素,並在 main activity.java 中使用此代碼

getActionBar().setDisplayShowTitleEnabled(false);

它會正常工作

我試過這個。 這將有助於 -

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

getSupportActionBar 應該在setSupportActionBar 之后調用,從而設置工具欄,否則,NullpointerException 因為沒有設置工具欄。 希望這可以幫助

您可以更改應用於每個活動的樣式,或者如果您只想更改特定活動的行為,您可以嘗試以下操作:

setDisplayOptions(int options, int mask) --- Set selected display 
  or
setDisplayOptions(int options) --- Set display options.

要在操作欄上顯示標題,請在 onCreate() 中設置顯示選項

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);

隱藏操作欄上的標題。

getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

詳情請看這里

唯一對我有用的是添加:

<activity 
    android:name=".ActivityHere"
    android:label=""
>
getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().hide();

希望這會有所幫助

如果您只想為一項活動執行此操作,甚至可能是動態的,您也可以使用

ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);

使用以下內容:

requestWindowFeature(Window.FEATURE_NO_TITLE);

作為解決方法,只需添加此行,以防您有自定義操作/工具欄

this.setTitle("");

在您的活動中

雖然所有這些都是可以接受的,但如果您的活動只包含一個主要活動,您可以像這樣編輯res\\values\\styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

我已經更新了parent並將 .NoActionBar 屬性添加到 Android Studios Create Blank Application Wizard 的 Light 主題。

只需從AppCompatActivity擴展您的 java 文件並執行以下操作:

ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");

在您的 manifest.xml 頁面中,您可以為您的活動標簽提供地址。 地址在您的 values/strings.xml 中的某處。 然后您可以將 xml 文件中標記的值更改為 null。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title_main_activity"></string>
</resources>

我是 Android 新手,所以也許我錯了……但是要解決這個問題,我們不能只轉到清單並刪除活動標簽

<activity
        android:name=".Bcft"
        android:screenOrientation="portrait"

        **android:label="" >**

為我工作......

我刪除了默認的應用程序欄並運行自定義工具欄,而不是使用Theme.AppCompat.Light.NoActionBar然后添加 textview 或使用屬性layout_width=match_parent擴展到完整工具欄寬度的東西,並將標題推出工具欄。 如果你想這樣做,你必須學習如何制作工具欄。

ActionBar actionBar = getActionBar();
actionBar.setTitle("");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM