gpt4 book ai didi

java - 使布局不可点击但子元素可点击

转载 作者:行者123 更新时间:2023-11-29 02:41:38 25 4
gpt4 key购买 nike

我一直在研究系统覆盖,我发现使用 WindowManager.LayoutParams x 和 y 在屏幕上移动 ImageView 很麻烦,所以我决定制作一个具有设备高度的 RelativeLayout我的 ImageView 。唯一的问题是我想让 Layout 不可点击,以便可以点击它下面的 Activity ,但不能点击 imageview 本身,因为它启动了一个 Activity 。有没有办法做到这一点?到目前为止,这是我的代码

 final RelativeLayout floaterLayout = new RelativeLayout(getApplicationContext());
//this layout makes the relativelayout non clickable so that the activity below it can be clicked but it doesn't allow any children to be clicked either.
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+ WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE + WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN + WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL + WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, PixelFormat.TRANSLUCENT);
params.height = 2560;
params.y = 0;

floaterLayout.setBackgroundColor(Color.RED);
floaterLayout.setAlpha(0.5f);
floaterLayout.setLayoutParams(params);
((WindowManager) getSystemService(Context.WINDOW_SERVICE)).addView(floaterLayout, params);
ImageView view = new ImageView(getApplicationContext());
Util.setImageDrawable(view, R.drawable.floater_dots);
floaterLayout.addView(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do stuff
}
});

最佳答案

@Nicolas 您正在创建一个未添加到父布局的相对布局。只需创建一个带有 relativeLayout 和 imageView 的 xml。在 java 代码中设置 imageView 的 onClickListener。通过这个父布局将是不可点击的,只有 imageview 是可点击的

关于java - 使布局不可点击但子元素可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669703/

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