Не отображается иконка в support action mode на Honeycomb

Интерфейс, диалоги, темы, стили, меню
Ответить
st_dev
Сообщения: 3
Зарегистрирован: 24 сен 2014, 10:46

Не отображается иконка в support action mode на Honeycomb

Сообщение st_dev » 10 июн 2015, 13:03

При использовании support action mode на honeycomb не видно иконок для кнопок действий. На 2.3.3 и на 4.0 кнопки видно. Сама кнопка на тулбаре присуствует, клик отрабатывает но иконки не видно.

Код: Выделить всё

Часть кода из MainActivity 
 
  	  private ActionMode.Callback callback = new ActionMode.Callback() {
		    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
		    	toolbar.setVisibility(View.GONE);
		    	mode.setTitle("Selected");
		    	mode.getMenuInflater().inflate(R.menu.action_mode, menu);		    	
		      return true;
		    }

		    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
		      return false;
		    }

		    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
		      Log.d(LOG_TAG, "item " + item.getTitle());
		      mode.finish();
		      return false;
		    }

		    public void onDestroyActionMode(ActionMode mode) {
		      Log.d(LOG_TAG, "destroy");
		      toolbar.setVisibility(View.VISIBLE);
		      actionMode = null;
		    }

		  };
	
    private void enableActionMode() {
		        actionMode = startSupportActionMode(callback);	

		    } 

action_mode.xml из папки menu

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.neptunisima.learncarlogos.MainActivity">
     
    <item android:id="@+id/action_add_favorite"
         android:title="@string/action_logo_grid"          
          android:icon="@drawable/ic_stop_white_48dp"
          app:showAsAction="ifRoom" />
   
</menu>

themes.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
     <style name="Theme.MyTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="colorPrimary">@color/teal800</item>
        <item name="colorPrimaryDark">@color/teal900</item>
        <item name="actionModeBackground">@color/teal800 </item> 
     </style>   
    </resources>

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Не отображается иконка в support action mode на Honeycom

Сообщение klblk » 10 июн 2015, 13:49

С проблемой не сталкивался, но как совет могу предложить прекратить поддерживать устройства ниже Android 4 (и я почти уверен, что вы не найдете ни одного пользователя с Android 3, который поставит ваше приложение, 2.3 еще может быть)

Из интересного что заметил в коде. Вы делаете toolbar видимым-невидимым. Думаю делаете вы это потому что ActionMode не рисуется поверх Toolbar'а. У меня для решения этой проблемы в теме прописано:
[syntax=xml]<item name="windowActionModeOverlay">true</item>[/syntax]
Хотя думаю если пошарится в исходниках, то там делается примерно тоже самое что и у вас вручную.

Ответить