答案 0 :(得分:0)
您可以做的一件事是在屏幕上找到锚定视图的位置,并相应地设置弹出布局的x,y坐标。要查找真实世界坐标,可以使用以下代码:
public static Rect locateView(View v) {
int[] loc_int = new int[2];
v.getLocationOnScreen(loc_int);
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() + v.getPaddingTop() + v.getBottom();
return location;
}
将锚定视图传递给函数,稍后,弹出窗口的setX,SetY属性。 类似的东西:
popUpLayout.setX(locateView(findViewById(R.id.anchor_view)).left);
第二个解决方案,可能就是你可以把你的锚定视图包起来并弹出一个线性/相对布局并使用可见性进行播放。