Intereting Posts
Более быстрая загрузка ListView, быстрее, чем метод Viewholder Android Scrollview с видеоизображением дает проблемы Съемка с пользовательской камеры растягивается при сохранении в ImageView При использовании CoordinatorLayout мой ScrollView имеет неправильный размер Почему метод onNothingSelected необходим в прослушивании spinner? Сохранение обслуживания во время изменений ориентации Ошибка при обновлении SDK с помощью диспетчера SDK Странная функция в ActivityManager: isUserAMonkey. Что это значит, каково его использование? Могу ли я получать уведомление, когда пользователь взаимодействует с устройством Android? Searchview не отображается в Панели инструментов Что я должен использовать imeActionId? ListView не обновляется при вызове notifyDataSetChanged из BaseAdapter Почему я не могу передать параметры в Android Activity Constructor Лучший способ кэширования данных на Android Импортировать проект Android Studio с другого ПК с различными версиями Gradle?

Значок приложения не отображается на панели действий в android lolipop и выше

Я просто мигрирую из api 19 Kitkat в api 21 Lollipop. И теперь я обнаружил, что значок приложения отсутствует на панели действий. Я чувствую, что мое приложение выглядит совсем по-другому. Итак, есть ли способ показать значок приложения. Спасибо за любую помощь 🙂

Solutions Collecting From Web of "Значок приложения не отображается на панели действий в android lolipop и выше"

В теме «Материал» (и версии AppCompat версии 21, которая основана на ней) панель действий соответствует рекомендациям по разработке материалов и использует панель инструментов :

  • Заголовок и субтитры. Заголовок должен быть указателем для текущей позиции панели инструментов в иерархии навигации и содержащемся там содержимом. Подзаголовок, если он присутствует, должен указывать любую расширенную информацию о текущем контенте. Если приложение использует изображение логотипа, оно должно решительно отказаться от названия и субтитров.

В современных Android UI разработчики должны больше ориентироваться на визуально отличную цветовую схему для панелей инструментов, чем на значок своего приложения. Использование значка приложения плюс заголовок в качестве стандартного макета не рекомендуется на устройствах API 21 и новее.

Однако, если вам нужен значок приложения, setLogo () – правильный метод.

Я также хотел бы показать свою удивительную иконку приложения в Lollipop +, так что вот что я использовал.

 mActionBar.setDisplayShowHomeEnabled(true); mActionBar.setIcon(Drawable); // Or drawable resource id. 

Источник: ActionBar # setDisplayShowHomeEnabled (boolean)

Это сработало для меня –

 getSupportActionBar().setTitle("Title"); getSupportActionBar().setSubtitle("Subtitle"); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_USE_LOGO); // Customize if you need to getSupportActionBar().setIcon(R.drawable.iconhere); // or setLogo 

Очень важно, чтобы setDisplayOptions, поскольку setIcon / setLogo, похоже, не работает без него. Исходный ответ – значок приложения v.2 для приложения совместимости приложений не отображается

Этот код работал на моем устройстве. Дайте мне знать, если у вас возникнут дополнительные вопросы.

Вот как я это сделал:

 package com.your.package; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setIcon(R.drawable.your_icon); } } 

Что даст вам это:

Введите описание изображения здесь

Вы должны использовать панель инструментов в своем приложении, как показано ниже.

styles.xml

 <!-- Base application theme. --> <style name="AppTheme" parent="AppTheme.Base"> <!-- Customize your theme here. --> </style> <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> </style> 

v21 \ styles.xml

 <resources> <style name="AppTheme" parent="AppTheme.Base"> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> <item name="android:windowSharedElementExitTransition">@android:transition/move</item> <item name="android:textColorPrimary">@color/textColorPrimary</item> <item name="android:windowBackground">@color/windowBackground</item> <item name="android:navigationBarColor">@color/navigationBarColor</item> </style> </resources> 

В вашем макете используйте панель инструментов следующим образом:

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="false" android:focusable="false" android:focusableInTouchMode="false"> <RelativeLayout xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/windowBackground"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:minHeight="?attr/actionBarSize" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> </android.support.v7.widget.Toolbar> <FrameLayout android:id="@+id/flContent" android:visibility="gone" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/toolbar"> </FrameLayout> </RelativeLayout> </android.support.v4.widget.DrawerLayout> 

В вашем файле Java напишите ниже код для значка set:

 toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { setSupportActionBar(toolbar); toolbar.setNavigationIcon(R.drawable.icn_menu); //toolbar.setTitle("Title"); setTitle("Title"); //toolbar.setSubtitle("Subtitle"); //toolbar.setLogo(R.drawable.ic_launcher); } 

Попробуй это:-

 getSupportActionBar.setDisplayHomeAsUpEnabled(true);