gpt4 book ai didi

android - 为什么android popupwindow showAsDropDown offsetx 无效?

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:49 29 4
gpt4 key购买 nike

popupWindow.showAsDropDown(morebutton, xOffset, yOffset);

无论xOffset的值如何,弹出窗口都在屏幕显示的右侧

final PopupWindow popupWindow = new PopupWindow(DashboardActivity.applicationContext);
LayoutInflater inflater = (LayoutInflater) DashboardActivity.applicationContext.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
popupWindow.setFocusable(true);
popupWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
popupWindow.setContentView(view);
popupWindow.setBackgroundDrawable(new ColorDrawable(
android.graphics.Color.TRANSPARENT));
popupWindow.showAsDropDown(morebutton, **-220**, -40);

无论我设置offsetX的值是多少,他都是在屏幕右侧显示

最佳答案

PopupWindow 尝试将您的 contentView 与您的 anchorGravity.TOP | 对齐默认情况下为 Gravity.START(左上角)。如果您的 contentView 没有剩余空间,它会偏移以适应屏幕,这可能就是它留在您右侧的原因。

以下 xOffset 会将 contentView 对齐到您的 anchor 的右上角:

view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int xOffset = -(view.getMeasuredWidth() - morebutton.getWidth());

popupWindow.showAsDropDown(morebutton, xOffset, 0);

你可能想要这样的东西:

popupWindow.showAsDropDown(morebutton, xOffset - 220, -40);

关于android - 为什么android popupwindow showAsDropDown offsetx 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29376964/

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