我想使用以下代码在角落添加叠加按钮:
int width = 100; //button width
int height = 50;
int x = 400;
int y = 50;
WindowManager.LayoutParams params = new WindowManager.LayoutParams(width, height, x, y,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.OPAQUE);
但它在左上角添加了按钮,使布局填满整个屏幕。
我是否传递了无效值,使所有内容重置为默认值?
如何将该按钮放在角落?
答案 0 :(得分:0)
对layoutParams使用RelativeLayout
RelativeLayout.LayoutParams layoutParams = new LayoutParams(width, height);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);`
button.setLayoutParams(layoutParams);
之后在父相对布局中添加按钮。
答案 1 :(得分:0)
...几年后,遇到了类似的问题。解决方案是LayoutParams上的重力:
WindowManager.LayoutParams params = ...;
params.gravity = Gravity.BOTTOM | Gravity.RIGHT;