Android ActionBarからタイトルテキストをどのように削除しますか?


106

私はHolo.Lightテーマを調べていますが、アプリを最初に起動したときに簡単に表示されるタイトルテキストを取り除くためにオーバーライドする魔法のスタイルを見つけることができません。

どうやってやるの?

回答:


216

試してください:

 getActionBar().setDisplayShowTitleEnabled(false);

v.7の場合:

 getSupportActionBar().setDisplayShowTitleEnabled(false);

22
アクションバーの読み込み中もタイトルは表示されますが、これは必要なものではありません。正しい解決策は、m3n0Rが提案したものです。
numan salati 2013

12
getSupportActionBar()。setDisplayShowTitleEnabled(false);である必要があります。v7の場合。それ以外の場合は、nullポインターの実行を生成します
アミール

5
@numansalati m3n0Rとは誰ですか?ページを検索したところ何も見つかりませんでした
ka3ak

いつメソッドを校正する必要がありますか?どのメソッド(アクティビティ、フラグメント)から呼び出す必要があるのですか?
ka3ak 2018年

94

私はこれが正しい答えだと思います:

<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 4はどうですか?ActionBarSherlockを使用していないため、という名前のリソースはありませんWidget.Sherlock.Light.ActionBar.Solid.Inverse。どの親を使うべきですか?
Alex Semeniuk 2013年

ホロテーマ。デフォルトでは、拡張可能な3つのholoテーマがあります。
cerards 2013年

これは、最初の起動時にタイトルを非表示にするために機能します。別のアクティビティでは、setTitleを呼び出しても機能しません。実行時にアクションバーのスタイルを交換する方法はありますか?
speedynomads 2013年

ランタイムにデフォルトのテーマを設定する:)
2013年

@ domji84、マニフェストファイルで各アクティビティのテーマを指定できます。
ashishduh 2014年

63

私はAndroidを初めて使用するので、間違っている場合は修正してください。ただし、アクションバーのナビゲーションタブを使用する場合、タイトルのテキストの色は透明で、去って行った。

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

私のために働いた。


はい、あなたは間違っています。問題のあるタブはなく、回答に
ホロライト

これを試してみると、このエラーが発生しますが、@ android:style / Widget.Holo.ActionBarにはAPIレベル11(現在の最小値は10)が必要です。
jrhamza 2014

このスタイルを、アプリケーションのすべてのアクティビティではなく、特定のアクティビティのアクションバーに割り当てたい場合。どうすればできますか?「android:displayOptions」行はどこに配置しますか?Menu.xml?AndroidMenifest.xml?
GyRo 2015

43

とった。オーバーライドする必要があります

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を透明に設定すると機能します。


3
はい、役に立ちました。なぜandroid:visibility=gone効果がないのですか?さらに良いことにsetDisplayShowTitleEnabled、バーがロードされている間、なぜタイトルテキストが表示されるのですか
Matthias

7
サイズを0に設定する代わりに、<item name = "android:displayOptions"> useLogo | showHome </ item>を使用します
Jerome VDL

23

マニフェストで

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

33
これは機能しますが、「最近使用したアプリ」セレクターにアプリが表示されなくなります
Rupert Bates

1
これにより、アプリに電話アプリケーション/メイン画面に名前が表示されません
Nimitack

13

このステートメントを

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

AppCompactActivityの使用を拡張する場合getSupportActionbar()、Activityの使用を拡張する場合、getActionBar()それ以外の場合は

null pointer exception

使用 android:label=""AndroidManifest.xml の活動のためにも動作しますが、あなたのアプリがで表示されません。Recently used apps


9

2つの選択肢があります

getActionBar().setDisplayShowTitleEnabled(false);

usign getActionBar()がnullポインタ例外を生成した場合は、Secondを使用する必要がありますgetSupportActionBar()

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

または

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

6

アプリのマニフェストでこのコードを使用します

<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);

正しく動作します


6

私はこれを試しました。これは役立ちます-

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

getSupportActionBarはsetSupportActionBarの後に呼び出してツールバーを設定する必要があります。それ以外の場合は、ツールバーが設定されていないためNullpointerExceptionになります。お役に立てれば


5

各アクティビティに適用されるスタイルを変更できます。または、特定のアクティビティの動作のみを変更したい場合は、これを試すことができます。

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);

詳細はこちら


3

私にとって本当にうまくいった唯一のものは、追加することでした:

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

よく「間違った」答えでしたが、同様のケースで私を助けてくれました:)
Javier

1
最小化するとアプリケーションがクラッシュするため、これを行わないでください
jfcartier

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

これが役に立てば幸い


2

以下を使用します。

requestWindowFeature(Window.FEATURE_NO_TITLE);

ActionBarを使用している場合は、これを行うことはできません。これを実行しようとすると、アプリが開いたときにすぐにクラッシュします。
Christopher Perry、

@ChristopherPerryは真実ではありません。これを使用して、setContentViewを呼び出す前にアクションバーをコードから削除できます。
numan salati 2013

ただし、これにより、タイトルだけでなくアクションバー全体が削除されます。
bofredo 2013

2

1つのアクティビティに対してのみ、場合によっては動的に実行する場合は、次のコマンドを使用することもできます。

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

1

回避策として、カスタムアクション/ツールバーがある場合はこの行を追加してください

this.setTitle("");

あなたの活動で


1

これらはすべて許容されますが、アクティビティにメインアクティビティのみが含まれている場合は、次の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>

parentAndroid Studios Create Blank ApplicationWizard からLightテーマに.NoActionBarプロパティを更新して追加しました。


これにより、タイトルだけでなくアクションバー全体が無効になります。また、空白のアクションバーを作成する場合は、すべてのビューに対してそれを行う必要があります。
常に混同

1

単にあなたのJavaファイルを拡張AppCompatActivityしてこれを行います:

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

0

manifest.xmlページで、アクティビティラベルにアドレスを指定できます。アドレスはvalues / strings.xmlのどこかにあります。次に、xmlファイルのタグの値をnullに変更できます。

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

0

私はAndroidを初めて使用するので間違っているかもしれませんが、この問題を解決するには、マニフェストに移動してアクティビティラベルを削除するだけです。

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

        **android:label="" >**

私のために働いた...


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

3
@Matteoそれはうまくいくかもしれませんが、それは確かに大雑把であり、それを行う正しい方法ではありません。実際、実際にはタイトルテキストは削除されず、「」に設定されるだけなので、表示されません。
user1234 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.