アクションバーからアイコン/ロゴを削除する方法を見つけようとしていますが、SO、Androidのドキュメント、およびGoogleを検索して1時間後に見つかった唯一のことは、タイトルバー全体を削除する方法です。それは私が欲しいものではありません。タイトルバーからアイコン/ロゴを削除したいだけです。
誰もがこれを達成する方法を知っていますか?できればXMLでやりたいです。
Android:logo="..."
の<application>
タグでAndroidManifest.xml
を定義したなら、アイコンを隠すためにこのものを使う必要があります:
<item name="logo">@Android:color/transparent</item>
<item name="Android:logo">@Android:color/transparent</item>
これら2つのスタイルを使用すると、私の場合は2.3および4.4のデバイスのアクションバーアイコンが正しく非表示になります(このアプリは AppCompat を使用します)。
アクションバーのスタイルに次のコードを追加します。
<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! -->
シモンズ:私はActionbar Sherlockを使用していますが、これは問題なく動作します。
アイコンを特定の活動に使用したくない場合。
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(Android.R.color.transparent)));
これは私のために働きました
getActionBar().setDisplayShowHomeEnabled(false);
呼び出し
mActionBar.setDisplayHomeAsUpEnabled(true);
に加えて、
mActionBar.setDisplayShowHomeEnabled(false);
ロゴは非表示になりますが、Home As Upアイコンが表示されます。 :)
を注意:
<item name="Android:icon">@Android:color/transparent</item>
オプション項目も透明になります。
getActionBar().setIcon(Android.R.color.transparent);
これは私のために働きました。
//disable application icon from ActionBar
getActionBar().setDisplayShowHomeEnabled(false);
//disable application name from ActionBar
getActionBar().setDisplayShowTitleEnabled(false);
以下を使用してタイトルを削除または表示します。
getActionBar().setDisplayShowTitleEnabled(true);
以下を使用してロゴを削除または表示します。
getActionBar().setDisplayUseLogoEnabled(false);
すべて削除する:
getActionBar().setDisplayShowHomeEnabled(false);
下記のコードをAndroidManifest.xmlに追加することもできます。
Android:icon="@Android:color/transparent"
それはうまくいきます。
しかし、ランチャーアイコンも透明になるので、これが問題になることがわかりました。
だから私は使用しました:
getActionBar().setIcon(new ColorDrawable(getResources().getColor(Android.R.color.transparent)));
そしてそれはうまくいった。
ただし、複数のアクティビティがあり、アクティビティ上のアイコンを透明にしたい場合は、前の方法でうまくいきます。
私はこれを使いました、そしてそれは私のために働きました。
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(Android.R.color.transparent)));
getActionBar().setIcon(new ColorDrawable(getResources().getColor(Android.R.color.transparent)));
getActionBar().setDisplayHomeAsUpEnabled(true);
あなたのマニフェストに行き、アプリケーションタグを見つけてください
Android:icon="@Android:color/transparent"// simply add this on place of your icon
..... ... ...
正確な答えは次のとおりだと思います。api 11以降の場合:
getActionBar().setDisplayShowHomeEnabled(false);
さもないと:
getSupportActionBar().setDisplayShowHomeEnabled(false);
(サポートライブラリが必要なため)
上記のどれもうまくいきませんでした。
しかし、これはトリックでした:
override fun onCreate() {
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
toolbar.logo = null
(ツールバーからアイコンを削除)
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>
最速の方法はあなたのManifest.xmlを修正することです。たとえば、アクティビティ "Activity"のロゴを削除し、そのロゴを他のアクティビティに残しておきたい場合は、次のようにします。
<activity
Android:name=".home.XActivity"
Android:logo="@Android:color/transparent"
Android:configChanges="orientation|keyboardHidden" />
<activity
Android:name=".home.HomeActivity"
Android:configChanges="orientation|keyboardHidden" />
あなたの目録に行き、あなたの活動を見つけ、そしてこのコードを追加してください:
Android:theme="@Android:style/Theme.NoTitleBar"
上の行はあなたのActionbar
を隠します。
他の機能が必要な場合は、(CLR + SPC)で他のオプションを見ることができます。