2013-12-20 5 views
0

Можно ли иметь всплывающее меню, как игровой магазин прилагается к каждой строке адаптера то, что я сделал до сих порКонтекстное меню с помощью ABS

holder.rl_overflow.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       PopupMenu popup = new PopupMenu(context, holder.rl_overflow); 
       popup.getMenuInflater().inflate(R.menu.overflow, popup.getMenu()); 

       popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
        @Override 
        public boolean onMenuItemClick(MenuItem item) { 
         Toast.makeText(context,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show(); 
         return false; 
        } 
       }); 
       popup.show(); 

      } 
     }); 

но конструктор Всплывающее меню говорит, что его можно получить API 11. Я иду через developer.android.com и я нашел, его можно добавить, используя библиотеку SUPPORT V7 «https://developer.android.com/reference/android/support/v7/widget/PopupMenu.html», но я не могу реализовать это с помощью ABS, пожалуйста, помогите кому-то.

ответ

1

Используйте как этот PopupMenu в ActionBarSherlock.

стилизация PopupMenu -

<item name="popupMenuStyle">@style/PopupMenu.MyAppTheme</item>  

<style name="PopupMenu.MyAppTheme" parent="@style/Widget.Sherlock.ListPopupWindow"> 
    <item name="android:popupBackground">@android:color/white</item> 
</style> 
+0

- это разветвленная версия, реализованная POPUPMENU? –

+0

Я реализовал и протестировал его успешно –

+0

как добавить этот стиль к 'PopupMenu' в классе –

1

Если вы используете , используя библиотеку поддержки, вы должны отказаться от использования ABS. Вместо этого импортируйте библиотеку поддержки в свою рабочую область, которую можно найти в ~/adt-bundle-linux-x86_64-20130729/sdk/extras/android/support/v7/appcompact, и используйте ее в своем проекте. А также не забудьте добавить support library, которые могут быть воспитаны правой кнопкой мыши на проекте и ввод Android Tools -> Add Support Library

Использование appcompact вам придется расширить класс активности с ActionBarActivity. А также с помощью appcompact вы должны внести изменения в свою папку styles. Вы можете обратиться к this. Не забудьте также обновить файлы values-v11 и values-v14. Выполнение всего этого сделает ваше приложение совместимым.

P.S. Если какая-либо ошибка возникает в вашей библиотеке appcompact. Не паникуйте в журналах ошибок и откройте файл, который, кажется, содержит ошибку. Скорее всего, вам придется обновить файл, а после этого вы просто fix project properties, и ошибка исчезнет.

Надеется, что это помогает :)

+0

я не могу переключиться на appcompact caoz у меня есть много вопросов дизайна с ним, я буду вынуждена прилип к ABS в любом случае спасибо за предложение. –

Смежные вопросы