Próbuję utworzyć coś w rodzaju okna podręcznego, które pojawi się po kliknięciu widoku w fragmencie. Chcę, żeby to okienko wyskakujące nie powodowało ciemności fragmentu, tak jak robi to Fragment Dialogu. I chcę również, aby okno było ustawione w miejscu kliknięcia widoku. Byłoby dobrze, gdyby miało swoją własną aktywność i układ, więc mogę wprowadzić w nim pewne niestandardowe zmiany. Czy możesz mi pokazać kod przykładowy?Okno wyskakujące, aby wyświetlić niektóre elementy w fragmencie
18
A
Odpowiedz
37
Następujące elementy powinny działać idealnie zgodnie ze specyfikacją. Wywołanie tej metody od wewnątrz onClick(View v)
z OnClickListener
przypisany Widok:
public void showPopup(View anchorView) {
View popupView = getLayoutInflater().inflate(R.layout.popup_layout, null);
PopupWindow popupWindow = new PopupWindow(popupView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// Example: If you have a TextView inside `popup_layout.xml`
TextView tv = (TextView) popupView.findViewById(R.id.tv);
tv.setText(....);
// Initialize more widgets from `popup_layout.xml`
....
....
// If the PopupWindow should be focusable
popupWindow.setFocusable(true);
// If you need the PopupWindow to dismiss when when touched outside
popupWindow.setBackgroundDrawable(new ColorDrawable());
int location[] = new int[2];
// Get the View's(the one that was clicked in the Fragment) location
anchorView.getLocationOnScreen(location);
// Using location, the PopupWindow will be displayed right under anchorView
popupWindow.showAtLocation(anchorView, Gravity.NO_GRAVITY,
location[0], location[1] + anchorView.getHeight());
}
Uwagi należy wyjaśnić dość dobrze. anchorView
to v
z onClick(View v)
.
Powiązane problemy
- 1. Javascript, aby otworzyć okno wyskakujące i wyłączyć okno nadrzędne
- 2. Okno wyskakujące, środkowy ekran
- 3. Okno wyskakujące w Java Swing
- 4. Python: Okno wyskakujące PyQt
- 5. Okno wyskakujące w winform C#
- 6. Okno dialogowe/wyskakujące okno z obrazem Androida
- 7. Okno wyskakujące okienka Sharepointa SharePoint
- 8. Jak zamknąć okno wyskakujące Liferay.util.openWindow?
- 9. Konwersja UIKeyboardFrameEndUserInfoKey aby wyświetlić lub Okno Współrzędne
- 10. Wyskakujące okno WPF: jak umieścić obramowanie wokół wyskakującego okienka?
- 11. Jak mogę dostosować okno wyskakujące QCompleter w PyQt?
- 12. Wyskakujące okno certyfikatu klienta Google Chrome
- 13. Bootstrap: wyśrodkuj niektóre elementy nawigacyjne
- 14. Węzeł numpy wyklucza niektóre elementy
- 15. Elementy szersze niż okno - CSS
- 16. Kod VBA, aby wyświetlić okno komunikatu, jeśli formuła w komórce docelowej przekracza określoną wartość
- 17. Ustaw niektóre elementy w widoku siatki nieklikalne
- 18. Okno debugowania Visual Studio 2008, aby wyświetlić znacznik czasu?
- 19. Jak utworzyć wyskakujące okno WPF w prawym dolnym rogu aplikacji?
- 20. jak wyświetlić wyskakujące okienko lub okno dialogowe, gdy telefon jest zablokowany?
- 21. wykrywanie kiedy wyskakujące okno "Pobieranie pliku" jest zamknięte
- 22. Jak wyświetlić jonowe wyskakujące okienko z opcji popover?
- 23. Jak wyświetlić okno wiadomości w Android Studio?
- 24. Wyskakujące modalne wyskakujące okienko w kanciastym js
- 25. Angular UI-router ignoruje niektóre elementy
- 26. Twitter Bootstrap: Zwiń tylko niektóre elementy menu do rozwijanego menu
- 27. Jak wyświetlić okno O programie w C#?
- 28. Jak wyświetlić okno alertu w PHP?
- 29. Bash Script na komputerze Mac tworzy wyskakujące okno informacyjne
- 30. Jak wyświetlić okno dialogowe z PreferenceFragment?
niesamowite, działa do tej pory, ale w jaki sposób sprawić, żeby miał granicę czy coś? –
@ БориславМинчев Cóż, umieść cały układ "popup" wewnątrz 'FrameLayout' z czarnym tłem. Ustaw tło tła "popup" na biały i nadaj mu margines "2dp". – Vikram
Zbyt skomplikowane: D Zrobiłem to z obrazem tła z ramką, a kolor wnętrza przezroczysty jak 70%. tak, powyższe odpowiedzi były tym, co chciałem dziękuję –