Android:ActionBarの「ホーム」アイコンをアプリアイコン以外のものに変更する方法は?
-
28-10-2019 - |
質問
私のアプリケーションのメインアイコンは、1つの画像の2つの部分で構成されています。ロゴとその下の数文字です。これは、アプリのランチャーアイコンに適していますが、アクションバーの左端にアイコンが表示されると、文字が遮断され、見た目が良くありません。
ActionBarに、その下の文字ではなく、「ロゴ」部分のみを備えたアイコンの個別のバージョンを提供したいと思いますが、これまでのところ空になっています。正直なところ、これに対する答えは見つかりません。また、どこでも質問自体を見つけることさえできません。
解決
ActionBarはを使用します Android:ロゴ マニフェストの属性、1つが提供されている場合。これにより、アイコン(ランチャー)とロゴ(ActionBarなど)に個別の描画可能なリソースを使用できます。
他のヒント
AndroidManifest.xmlで:
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:name="com..."
android:theme="@style/Theme">...</Application>
In Styles.xml :(参照 android:icon
)
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:icon">@drawable/icon</item>
</style>
この行を試してみてください
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
AppCompatを使用している場合、GingerBread(API 10)以下を実行しているデバイスにActionBarアイコンを設定する唯一の方法は、Android:アイコン属性をマニフェストのすべてのアクティビティで設定するか、描画可能なプログラムで設定します。
<manifest>
<application>
...
<activity android:name="com.your.ActivityName"
...
android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
更新:ただし、Android:Icon属性を起動アクティビティに設定すると、アプリケーションアイコンがオーバーライドされることに注意してください。私が知っている唯一の仕事は、あなたの主なアクティビティを開始するスプラッシュまたはダミーのアクティビティを持つことです。
TheITに触発されて、私はこれをマニフェストファイルを操作することで機能しましたが、やや異なる方法で機能しました。アクティビティの大部分がアイコンを取得できるように、アプリケーション設定にアイコンを設定します。ロゴを表示するアクティビティで、Android:ロゴ属性をアクティビティ宣言に追加します。次の例では、ロゴのみがロゴを持っている必要がありますが、他のものはデフォルトでアイコンになります。
<application
android:name="com.your.app"
android:icon="@drawable/your_icon"
android:label="@string/app_name">
<activity
android:name="com.your.app.LogoActivity"
android:logo="@drawable/your_logo"
android:label="Logo Activity" >
<activity
android:name="com.your.app.IconActivity1"
android:label="Icon Activity 1" >
<activity
android:name="com.your.app.IconActivity2"
android:label="Icon Activity 2" >
</application>
これが他の誰かを助けることを願っています!
ロゴの作成
フォルダで」drawable-...
「それらすべてを作成します logo.png
。フォルダーの場所: [YOUR APP]\app\src\main\res
AndroidManifest.xmlでラインを追加: android:logo="@drawable/logo"
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/logo"
...
それでおしまい。
「appcompatactivityを拡張」し、ActionBarを提示する場合は、試してみてください。
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
これをチェックしたいかもしれません、あなたがあなたのアプリアイコンに必要なすべてを手に入れました
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
アップデート
デフォルトでは、ランチャーアイコンを使用していると思います...あなたの最善の策は、アクションバー向けに設計された別の画像を作成することです。そのチェックのために: http://developer.android.com/guide/topics/ui/actionbar.html#actionItems