Я создал класс, который генерирует PopupWindow на основе введенных в него параметров. Я считаю, что это лучше подойдет для моих нужд, чем манипулирование контентом на основе XML для моего PopupWindow.
Создание окна и его содержимого, кажется, проходит гладко - на самом деле содержимое отображается на экране, которым я еще не смог управлять. Проблема в том, что мне не удалось найти пример используемого кода PopupWindow, который не использует функцию LayoutInflater для размещения его на экране. Поскольку мое PopupWindow не сгенерировано из файла XML, я не могу использовать LayoutInflater, чтобы разместить его на экране.
Что-то еще, что я, вероятно, должен объяснить, это то, что мой класс, генерирующий PopupWindow, в своем собственном файле . Т.е. это не подкласс файла Activity. Я сделал это таким образом, чтобы я мог легко скопировать свой класс PopupWindow в любые будущие проекты, которые я мог бы разработать.
Вот базовый макет моего класса:
class myPopup extends Object {
public myPopup(parameters){
ViewGroup winBody;
// "winbBody" will be the content of the PopupWindow.
// Code that fills and adjusts "winBody" based on the parameters goes here.
int width = //Determined by parameters.
int height = //Determined by parematers.
PopupWindow pw = new PopupWindow(winBody, width, height, true);
//This is as far as I seem to get before getting stuck.
}
}
Я понимаю, что я должен каким-то образом использовать функцию PopupWindow "showAtLocation", но мне неясно, какие параметры я должен использовать для этого. Может кто-нибудь сказать мне, как заставить мое всплывающее окно появляться на экране? Надеюсь, в самом центре этого. :)