アクションバーからアイコン/ロゴを削除する方法を探していましたが、SO、Androidのドキュメント、およびGoogleを1時間検索した後に見つけたのは、タイトルバー全体を削除する方法だけです。それは私が望んでいることではありません。タイトルバーからアイコン/ロゴを削除したいだけです。
誰かがこれを達成する方法を知っていますか?できれば、これをXMLで実行したいと思います。
アクションバーからアイコン/ロゴを削除する方法を探していましたが、SO、Androidのドキュメント、およびGoogleを1時間検索した後に見つけたのは、タイトルバー全体を削除する方法だけです。それは私が望んでいることではありません。タイトルバーからアイコン/ロゴを削除したいだけです。
誰かがこれを達成する方法を知っていますか?できれば、これをXMLで実行したいと思います。
アクションバーのスタイルに次のコードを追加します。
<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を使用していますが、これは問題なく機能します。
特定のアクティビティでアイコンが必要ない場合。
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(android.R.color.transparent)));
のタグで定義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を使用します)。
これは私のために働いた
getActionBar().setDisplayShowHomeEnabled(false);
呼び出し
mActionBar.setDisplayHomeAsUpEnabled(true);
に加えて、
mActionBar.setDisplayShowHomeEnabled(false);
ロゴは非表示になりますが、HomeAsUpアイコンが表示されます。:)
を注意:
<item name="android:icon">@android:color/transparent</item>
オプションアイテムも透明になります。
//disable application icon from ActionBar
getActionBar().setDisplayShowHomeEnabled(false);
//disable application name from ActionBar
getActionBar().setDisplayShowTitleEnabled(false);
getActionBar().setIcon(android.R.color.transparent);
これは私のために働いた。
以下を使用してタイトルを削除または表示します。
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().setDisplayHomeAsUpEnabled(true);
私はこれを使用しました、そしてそれは私のために働きました。
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(android.R.color.transparent)));
正確な答えは次のとおりです。API11以降の場合:
getActionBar().setDisplayShowHomeEnabled(false);
そうでなければ:
getSupportActionBar().setDisplayShowHomeEnabled(false);
(サポートライブラリが必要なためです。)
マニフェストに移動して、アプリケーションタグを見つけます
android:icon="@android:color/transparent"// simply add this on place of your icon
..........。
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>
マニフェストに移動してアクティビティを見つけ、次のコードを追加します。
android:theme="@android:style/Theme.NoTitleBar"
上記の行はあなたを隠しますActionbar
。
他の機能が必要な場合は、(CLR + SPC)で他のオプションを確認できます。
最速の方法は、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" />
上記のどれもうまくいきませんでした。
しかし、これはトリックを行いました:
override fun onCreate() {
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
toolbar.logo = null
(ツールバーからアイコンを削除)