У меня проблема с popupWindow.showAtLocation(View parent, int gravity, int x, int y)
здесь ось x работает правильно, но она не перемещается по y -ось. Всплывающее окно по-прежнему отображается поверх активности, но оно точно расположено в левом или правом местоположении. Я использую GridView
в качестве родительского представления, я думаю, что есть некоторая проблема с GridView, но я не знаю, что это за проблема. & как сделать реши это. Пожалуйста, помогите мне.PopupWindow.showAtLocation (View parent, int gravity, int x, int y) не отображается в указанном месте с помощью GridView
ниже мой код:
final GridView gridView = (GridView)inflater.inflate(R.layout.popup_window, null, false);
gridView.setNumColumns(5);
gridView.setVerticalSpacing(50);
PopupAdapter adapter = new PopupAdapter(this, iconIds, subjectNames);
gridView.setAdapter(adapter);
popupWindow = new PopupWindow(gridView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, false);
findViewById(R.id.open_popup_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
if(!popupWindow.isShowing()) {
popupWindow.showAtLocation(gridView, Gravity.NO_GRAVITY, 100, 400);
}
else
popupWindow.dismiss();
}
});
и ниже мой код popup_window.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/grid_view">
</GridView>
Спасибо, но это не поможет мне. Просто значение x, преобразованное в пиксели, но y не работает, все та же проблема. – Nadimuddin
Вы показываете это всплывающее окно в своей деятельности? –
Да, я показываю это в действии. – Nadimuddin