gpt4 book ai didi

android - 弹出窗口的宽度和高度

转载 作者:太空狗 更新时间:2023-10-29 14:31:00 26 4
gpt4 key购买 nike

好的,所以我开始掌握构建 Android 应用程序的窍门,至少几天后程序员可以做到这一点 - 我为到目前为止所学的知识感到自豪。

无论如何,我想在主要 Activity 上强制登录 - 我通过获取一个 SharedPrefernece 来执行此操作,而不是检查该信息是否为空,而不是获取一个包含“登录”字段和选项的 PopupWindow。

This PopupWindow has a Flipper inside, which is fine and I got working fine when the certain options are choosen.

当我设置 PopupWindow.setAtLocation() 时,我无法将此 PopupWindow 显示为内容 (wrap_content) 的大小

现在,这是我一直在尝试获取弹出窗口大小的方法 - 正如此处多次提到的:

popup.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
final PopupWindow pw = new PopupWindow(popup,popup.getMeasuredHeight(),popup.getMeasuredWidth(), true);

请注意,popup 是 Popup 实际布局的 inflator,pw 是实际的 PopupWindow 对象。

现在,我只想获取弹出窗口的实际大小(这样它就不会在页面上拉伸(stretch)开来,而是像普通弹出窗口一样位于中心。

此外,还有 ViewFlipper。我希望它在切换页面时更新弹出窗口的大小(因此页面应该在每页上调整大小)是否也有办法使它工作?我试过 pw.update() 但效果不是很好。

最佳答案

您想测量要添加到 PopupWindow 中的实际布局。我刚刚解决了将 ListView 放入 PopupWindow 中的类似问题。诀窍是在您的 View 中覆盖 onMeasure()。每次更改时重新测量 ViewFlipper

@Override
public void onMeasure(int x, int y)
{
super.onMeasure(x, y);

if(x == View.MeasureSpec.UNSPECIFIED && y == View.MeasureSpec.UNSPECIFIED)
{
//measure your child views here

//tell the view it has been measured
this.setMeasuredDimension(width, height);
}
}

关于android - 弹出窗口的宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946523/

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