147

アクションバーからアイコン/ロゴを削除する方法を探していましたが、SO、Androidのドキュメント、およびGoogleを1時間検索した後に見つけたのは、タイトルバー全体を削除する方法だけです。それは私が望んでいることではありません。タイトルバーからアイコン/ロゴを削除したいだけです。

誰かがこれを達成する方法を知っていますか?できれば、これをXMLで実行したいと思います。

4

18 に答える 18

228

アクションバーのスタイルに次のコードを追加します。

<item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:icon">@android:color/transparent</item> <!-- This does the magic! -->

PS:私はActionbar Sherlockを使用していますが、これは問題なく機能します。

于 2013-02-21T09:02:14.093 に答える
115

特定のアクティビティでアイコンが必要ない場合。

getActionBar().setIcon(
   new ColorDrawable(getResources().getColor(android.R.color.transparent)));    
于 2013-07-05T09:19:55.287 に答える
58

のタグで定義android:logo="..."した場合は、次のものを使用してアイコンを非表示にする必要があります。<application>AndroidManifest.xml

v11以前のテーマ

<item name="logo">@android:color/transparent</item>

v11以降のテーマ

<item name="android:logo">@android:color/transparent</item>

これらの2つのスタイルを使用すると、2.3および4.4デバイスのアクションバーアイコンが適切に非表示になります(このアプリはAppCompatを使用します)。

于 2014-04-10T21:12:24.997 に答える
49

これは私のために働いた

getActionBar().setDisplayShowHomeEnabled(false);
于 2013-10-10T06:54:30.077 に答える
28

呼び出し

mActionBar.setDisplayHomeAsUpEnabled(true);

に加えて、

mActionBar.setDisplayShowHomeEnabled(false);

ロゴは非表示になりますが、HomeAsUpアイコンが表示されます。:)

于 2014-03-20T14:23:38.667 に答える
15

を注意:

<item name="android:icon">@android:color/transparent</item>

オプションアイテムも透明になります。

于 2013-12-11T10:32:02.463 に答える
13
    //disable application icon from ActionBar
    getActionBar().setDisplayShowHomeEnabled(false);

    //disable application name from ActionBar
    getActionBar().setDisplayShowTitleEnabled(false);
于 2014-07-13T12:10:16.110 に答える
12
getActionBar().setIcon(android.R.color.transparent);

これは私のために働いた。

于 2015-08-18T06:24:44.083 に答える
11

以下を使用してタイトルを削除または表示します。

getActionBar().setDisplayShowTitleEnabled(true);

以下を使用してロゴを削除または表示します。

getActionBar().setDisplayUseLogoEnabled(false);

すべて削除する:

getActionBar().setDisplayShowHomeEnabled(false);
于 2015-02-28T12:38:28.280 に答える
9

AndroidManifest.xmlに以下のコードを追加することもできます。

android:icon="@android:color/transparent"

それはうまくいくでしょう。

しかし、ランチャーアイコンも透明になるため、これには問題があることがわかりました。

だから私は使用しました:

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));

そしてそれはうまくいきました。

ただし、複数のアクティビティがあり、アクティビティのアイコンを透明にしたい場合は、前のアプローチが機能します。

于 2015-03-18T18:21:34.757 に答える
2
getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));
getActionBar().setDisplayHomeAsUpEnabled(true);
于 2014-06-17T12:36:36.723 に答える
2

私はこれを使用しました、そしてそれは私のために働きました。

        getActionBar().setIcon(
        new ColorDrawable(getResources().getColor(android.R.color.transparent)));
于 2014-06-30T10:09:56.603 に答える
1

正確な答えは次のとおりです。API11以降の場合:

getActionBar().setDisplayShowHomeEnabled(false);

そうでなければ:

getSupportActionBar().setDisplayShowHomeEnabled(false);

(サポートライブラリが必要なためです。)

于 2015-02-16T13:23:03.750 に答える
1

マニフェストに移動して、アプリケーションタグを見つけます

  android:icon="@android:color/transparent"// simply add this on place of your icon

..........。

于 2015-10-07T10:25:11.403 に答える
0

Qiqi Abazizの答えは大丈夫ですが、互換性パックで動作させ、スタイルを正しい要素に適用するのに長い間苦労しました。また、透明性ハックは不要です。したがって、v8以降で機能する完全な例を次に示します。

values \ styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyActivityTheme" parent="@style/Theme.AppCompat">
        <item name="actionBarStyle">@style/NoLogoActionBar</item> <!-- pre-v11-compatibility -->
        <item name="android:actionBarStyle">@style/NoLogoActionBar</item>
    </style>
    <style name="NoLogoActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="displayOptions">showHome</item> <!-- pre-v11-compatibility -->
        <item name="android:displayOptions">showHome</item>
    </style>
</resources>

AndroidManifest.xml(シェル)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">   
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/>
    <application android:theme="@android:style/Theme.Light.NoTitleBar">
        <activity android:theme="@style/PentActivityTheme"/>
    </application>
</manifest>
于 2014-08-01T11:06:56.510 に答える
0

マニフェストに移動してアクティビティを見つけ、次のコードを追加します。

android:theme="@android:style/Theme.NoTitleBar"

上記の行はあなたを隠しますActionbar

他の機能が必要な場合は、(CLR + SPC)で他のオプションを確認できます。

于 2014-09-25T12:16:08.193 に答える
0

最速の方法は、Manifest.xmlを変更することです。たとえば、アクティビティ「アクティビティ」のロゴを削除し、他のアクティビティにロゴを残したい場合は、次のようにすることができます。

<activity
      android:name=".home.XActivity"
      android:logo="@android:color/transparent"
      android:configChanges="orientation|keyboardHidden" />
 <activity
      android:name=".home.HomeActivity"
      android:configChanges="orientation|keyboardHidden" />
于 2016-03-28T10:02:20.943 に答える
0

上記のどれもうまくいきませんでした。

しかし、これはトリックを行いました:

override fun onCreate() {
    setContentView(R.layout.activity_main)

    setSupportActionBar(toolbar)
    toolbar.logo = null

(ツールバーからアイコンを削除)

于 2018-12-22T13:55:43.100 に答える