it-swarm.com.ru

Android: Как изменить значок «Домой» на панели действий, чтобы он отличался от значка приложения?

Главный значок моего приложения состоит из двух частей на одном изображении: логотип и несколько букв под ним. Это хорошо работает для значка запуска для приложения, но когда значок появляется на левом краю панели действий, буквы обрезаются и выглядят не очень хорошо.

Я хотел бы предоставить ActionBar отдельную версию значка, содержащую только часть "логотип", а не буквы под ней, но до сих пор пустую. Честно говоря, я не могу найти на это никакого ответа, и я нигде не могу найти сам вопрос.

111
Phil Ringsmuth

ActionBar будет использовать атрибут Android: logo вашего манифеста, если таковой имеется. Это позволяет вам использовать отдельные ресурсы для рисования для иконки (Launcher) и логотипа (ActionBar, между прочим).

218
Joe

В AndroidManifest.xml:

<application
    Android:icon="@drawable/launcher"
    Android:label="@string/app_name"
    Android:name="com..."
    Android:theme="@style/Theme">...</Application>

В 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>
48
AlikElzin-kilaka

Пожалуйста, попробуйте эту строку

getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
13
TheLastSummer

Если вы используете AppCompat, единственный способ установить значок ActionBar на устройствах под управлением Gingerbread (API 10) или ниже - это установить атрибут Android: icon в каждом действии в вашем манифесте или настроить рисование программно.

<manifest>
    <application>
        ...
        <activity Android:name="com.your.ActivityName"
            ...
            Android:icon="@drawable/ab_logo"/>
        ...
   </application>
</manifest>

Обновление: примите к сведению, что значок приложения будет переопределен, если вы установите атрибут Android: значок при запуске. Единственная работа, о которой я знаю, - это всплеск или пустышка, которая запускает вашу основную активность.

8
TheIT

Вдохновленный TheIT, я просто заставил это работать, манипулируя файлом манифеста, но немного другим способом. Установите значок в настройках приложения, чтобы большинство действий получало значок. На мероприятии, в котором вы хотите показать логотип, добавьте атрибут Android: logo в объявление действия. В следующем примере только LogoActivity должен иметь логотип, в то время как для других по умолчанию будет иконка.

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

Надеюсь, это поможет кому-то еще!

7
proudgeekdad

создание логотипа

в папках "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"
    ...

вот и все.

3
awariat

Пожалуйста, попробуйте, если использовать "расширяет AppCompatActivity" и представить панель действий.

 ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
    eksinbar.setDisplayHomeAsUpEnabled(true);
    eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
2
Mustafa

Может быть, хочу проверить это, есть все необходимое для ваших значков приложений

http://developer.Android.com/guide/practices/ui_guidelines/icon_design.html

обновление

Я думаю, что по умолчанию он использует ваш значок запуска ... Лучше всего создать отдельное изображение ... Предназначено для панели действий и с ее помощью. Для этой проверки: http://developer.Android.com/guide/topics/ui/actionbar.html#ActionItems

0
Stevanicus