Всплывающее окно, чтобы отобразить некоторые fragmentы в fragmentе
Я пытаюсь сделать что-то вроде всплывающего windows, которое появится при нажатии на представление в fragmentе. Я хочу это всплывающее окно или что-то еще, чтобы не сделать fragment темным, как это делает fragment диалога. И я также хочу, чтобы всплывающее окно было расположено там, где нажимается точка обзора. Было бы хорошо, если бы у него была своя собственная деятельность и макет, поэтому я мог бы сделать некоторые пользовательские изменения в нем. Можете ли вы показать мне пример кода?
- Как заставить мое приложение Android отображаться в списке общего доступа другого приложения
- Передача данных растровых изображений Android в действии с использованием Intent в Android
- onNewIntent () и зарегистрированные слушатели
- Как открыть сайт при нажатии кнопки в приложении Android?
- Как прикрепить изображение от переносимого к gmail?
- Как передать ArrayList из одного действия в другое?
- Как переместить активность Bluetooth в службу
- Android BroadCastReceiver для увеличения громкости вверх и вниз
Следующее должно работать идеально в соответствии с вашими спецификациями. Вызовите этот метод изнутри onClick(View v)
OnClickListener
назначенного для представления:
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()); }
Комментарии должны объяснить это достаточно хорошо. anchorView
– это v
из onClick(View v)
.