gpt4 book ai didi

android - 弹出 showAtLocation 不工作

转载 作者:行者123 更新时间:2023-11-29 00:19:38 24 4
gpt4 key购买 nike

我正在使用弹出窗口在单击 edit-text 时显示一些 TextView 。但是弹出窗口没有显示在特定位置,它总是显示在左上角,这是我的代码,那里有什么问题

    private void showPopup(Context context,final LinearLayout Parent) {


LayoutInflater layoutInflater = (LayoutInflater)context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = layoutInflater.inflate(R.layout.popup,MainActivity.parent,true);
// Creating the PopupWindow
final PopupWindow popupWindow = new PopupWindow(
layout,700,700);


popupWindow.setContentView(layout);
popupWindow.setHeight(500);


new Runnable(){
@Override
public void run() {

popupWindow.showAtLocation(layout, Gravity.CENTER,300,150);
}

};


}

最佳答案

尝试以下代码:

public static Rect locateView(View v)
{
int[] loc_int = new int[2];
if (v == null) return null;
try
{
v.getLocationOnScreen(loc_int);
} catch (NullPointerException e)
{
//Happens when the view doesn't exist on screen anymore.
return null;
}
Rect location = new Rect();
location.left = loc_int[0];
location.top = loc_int[1];
location.right = location.left + v.getWidth();
location.bottom = location.top + v.getHeight();
return location;
}

然后使用

popup.showAtLocation(parent, Gravity.TOP|Gravity.LEFT, location.left, location.bottom);

希望对你有帮助

关于android - 弹出 showAtLocation 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23992129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com