Najlepszym sposobem, aby stworzyć podobny popover view
jest za pomocą PopupWindow
, ponieważ można umieścić PopUpWindow
na żadnym z określonej pozycji widzenia (lub na centrum/górnej/dolnej części ekranu). Możesz także osiągnąć ten sam interfejs użytkownika z DialogFragment
, ale nie możesz ustawić pozycji w określonym widoku.
Mam kompletny kod pracy tutaj https://gist.github.com/libinbensin/67fcc43a7344758390c3
Krok 1: Utwórz niestandardowy układ, na przykład, jak jej na Facebooku ma Header TextView
z ListView
i EditText
.
Krok 2: Ustaw układ do PopupWindow
napompować układ ustawić
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View inflatedView = layoutInflater.inflate(R.layout.fb_popup_layout, null,false);
Ten Layout
ma ListView
, więc znaleźć ListView
w układzie i wypełnić dane . możesz mieć swój własny pogląd tutaj
ListView listView = (ListView)inflatedView.findViewById(R.id.commentsListView);
listView.setAdapter(new ArrayAdapter<String>(TryMeActivity.this,
R.layout.fb_comments_list_item, android.R.id.text1,contactsList));
Teraz tworzymy wystąpienie PopupWindow
z określonej wysokości i szerokości. Wolę ustawić rozmiar w zależności od urządzenia.
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
popWindow = new PopupWindow(inflatedView, size.x - 50,size.y - 500, true);
Ustaw focusability
w wyskakującym oknie.
popWindow.setFocusable(true);
Zrób to poza dotykalne to dismiss the popup window when touched outside
obszar okienko
popWindow.setOutsideTouchable(true);
Teraz ustawić tło do PopupWindow
z rozciągliwej. Losowanie ma rectangle shape
z corner radius
.
popWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.fb_popup_bg));
Wreszcie. pokaż PopupWindow
w wymaganym miejscu. Zrobiłem to pokazać na bottom
ekranu z niektórymi X and Y position
popWindow.showAtLocation(v, Gravity.BOTTOM, 0,150); // 0 - X postion and 150 - Y position
Można również ustawić Animation
używać gdy PopUpWindow
pojawia się i znika
popWindow.setAnimationStyle(R.anim.animation); // call this before showing the popup
Jestem stoi podobny problem, tworzenie widoku szczegółów komentarzy i przeciąganie w prawo lub w dół, aby odrzucić i otworzyć widok podoba się w widoku komentarzy. Czy możesz udostępnić swój kod, w jaki sposób go zaimplementowałeś, wyświetlając i przeglądając grupę, ponieważ wydaje się, że nie można tego osiągnąć przez okno dialogowe lub wyskakujące okienko. – YasirSE
To interesująca rozmowa, którą wybrałeś do kontroli ekranu. – Mike