Я пытаюсь создать PopupWindow, который работает как меню ActionBar, как и в Chrome для Android - пример: How to create custom sub menu like Google Chrome applicationПозиция, Тень и отвергающий от PopupWindow как меню ActionBar [Android]
Вот что я так далеко:
в настоящее время - у меня есть 3 проблемы:
Мне нужно расположить меню правой кнопки ActionBar, и под ним. как обычное меню ..
мне нужно иметь тень на PopupWindow (по какой-то причине он удаляется, как я знаю, PopupWindow автоматически эта тень вокруг него)
При нажатии вне PopupWindow, Мне нужно, чтобы закрыть как обычное меню в ActionBar ..
Вот мой код- по щелчку кнопки ActionBar это код, который работает:
LayoutInflater inflater = (LayoutInflater) MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final PopupWindow pw = new PopupWindow(inflater.inflate(
R.layout.options_menu, null, false), LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
pw.showAtLocation(findViewById(R.id.main_cont), Gravity.NO_GRAVITY, 50, this.getSupportActionBar().getHeight() + 1);
ListView moreOptions = (ListView)pw.getContentView().findViewById(R.id.moreOptions);
String[] options = new String[] { "Settings", "Feedback", "Contribute", "DashClock Integration", "Tutorial", "ViewPager Demo", "Expandable List Demo", "Change Language", "Add 5 to list", "Add 20 to list" };
final ArrayList<String> moreOptionsList = new ArrayList<String>();
for (int i = 0; i < options.length; ++i) {
moreOptionsList.add(options[i]);
}
ArrayAdapter<String> moreOptionsAdapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
moreOptionsList);
moreOptions.setAdapter(moreOptionsAdapter);
//pw.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.listview_bg_inverted));
/*
pw.setTouchable(true);
pw.setFocusable(false);
*/
pw.setOutsideTouchable(true);
Дизайн меню: http://pastebin.com/yi6S2HDt
Благодаря передовой, Дин.