開発中Android 2.1 API 7アプリ。私もActionbarSherlockライブラリを使用してアクションバーを実装しています。Android 2.1 API 7のポップアップメニュー
ここでは、API 11+のみがサポートするPopupMenu
を実装する必要があります。
PopupMenu
をAndroid 2.1 API 7に実装するにはどうすればよいですか?
開発中Android 2.1 API 7アプリ。私もActionbarSherlockライブラリを使用してアクションバーを実装しています。Android 2.1 API 7のポップアップメニュー
ここでは、API 11+のみがサポートするPopupMenu
を実装する必要があります。
PopupMenu
をAndroid 2.1 API 7に実装するにはどうすればよいですか?
私はこのような問題に悩まされていました。私自身が発見した唯一の解決策は、android 11d以降のリストダイアログをandroid sdk < 11とListPopupで使用することでした。
これは理論的には以前のAPIバージョンでPopupMenusを許可するHoloEverywhereのようなソリューションを発見した後でさえ、私が最後に解決した解決策です。それはあまりにも少ないオーバーヘッドです! – andygeers
その可能なインポートあなたのコードに特定のAPIファイルがあります。私はEclipseがあなたのためにやってくれると思います。コードを書いてください。
あなたはHoloEveryWhereを使うことができ、それはアンドロイド4.1から2.1以上のHoloテーマをもたらす。
それが誰かを助ける場合:私はHoloEverywhereルートを試しました。バイナリにかなり大きな設定コストとサイズオーバーヘッドがあり、ちょっとした方法です。 ListViewActivityかsomesuchを代わりに使うことができるかどうかにかかわらず、API v7でPopupMenuが本当に必要かどうかを検討したいかもしれません。 – andygeers
SherlockDialogFragmentを拡張するListDialogFragmentを作成し、独自の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サポートV7ライブラリを使用してください。
android.support.v7.widget.PopupMenu
私は似たようなことをしています! http://stackoverflow.com/questions/16621070/get-context-of-popupmenu-like-contextmenu – toobsco42
この事前に質問されている質問を確認してください:[Pre-HoneycombのPopupMenuに適切な代替](http://stackoverflow.com/questions/9878916/pre-honeycombのための適切な代替のポップアップメニュー)これは概念を手伝ってくれます。 –
[HoloEverywhere](https://github.com/Prototik/HoloEverywhere)の使用はどうですか? – azizbekian