我正在開發Android 2.1 API 7應用程序。我也使用ActionbarSherlock庫來實現Action Bar。Android 2.1 API 7中的PopupMenu
現在,我需要實現PopupMenu
,它只支持API 11+。
如何在Android 2.1 API 7中實現PopupMenu
?
我正在開發Android 2.1 API 7應用程序。我也使用ActionbarSherlock庫來實現Action Bar。Android 2.1 API 7中的PopupMenu
現在,我需要實現PopupMenu
,它只支持API 11+。
如何在Android 2.1 API 7中實現PopupMenu
?
I'v被這樣的問題困住了,我唯一找到的解決方案是在Android sdk < 11和Android 11及更高版本中使用ListPopup。
這是我最終解決的解決方案,即使在發現諸如HoloEverywhere之類的解決方案之後,理論上允許在較早的API版本中使用PopupMenus。這只是少開銷! – andygeers 2014-02-22 19:24:10
它的可能導入你的代碼中的特定API文件,我認爲eclipse會爲你做,只需編寫代碼,如果不是導入比谷歌導入API。
你可以使用HoloEveryWhere,它將Holo主題從android 4.1升級到2.1及以上版本。
萬一它幫助別人:我嘗試了HoloEverywhere路線。這是一個大錘的方法,在二進制文件中有相當大的設置成本和大小開銷。您可能需要考慮是否真的需要API v7中的PopupMenu,而不管您是否可以使用ListViewActivity或其他類。 – andygeers 2014-02-22 19:23:20
您可以創建一個ListDialogFragment來擴展SherlockDialogFragment並創建您自己的Listener接口,以便您可以處理選擇事件。
public class ListDialogFragment extends SherlockDialogFragment {
private String[] mValues;
public interface ListDialogListener {
void onFinishListDialog(int selectedIndex, String tag);
}
private ListDialogFragment(String[] values) {
mValues = values;
}
public static ListDialogFragment newInstance(int index, String[] values) {
ListDialogFragment fragment = new ListDialogFragment(values);
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
fragment.setArguments(args);
return fragment;
}
public int getSelectedIndex() {
return getArguments().getInt("index", 0);
}
}
使用Android Support V7 Library;
android.support.v7.widget.PopupMenu
我在做類似的事情! http://stackoverflow.com/questions/16621070/get-context-of-popupmenu-like-contextmenu – toobsco42 2013-05-18 16:01:32
請檢查這個預先問過的問題:[適用於前蜂窩PopupMenu的替代](http://stackoverflow.com/questions/9878916/appropriate-alternative-to-popupmen-for-pre-honeycomb)它會幫助你理解這個概念。 – 2012-08-10 19:08:08
如何使用[HoloEverywhere](https://github.com/Prototik/HoloEverywhere)? – azizbekian 2013-06-14 06:22:39