Android LinearLayout整个布局设置不可点击

解决办法:
在代码中给布局(例如LinearLayout)设置 setOnClickListener(null);
要的效果:
下图中的Popoupwindow布局中的LinearLayout不可点击
Android LinearLayout整个布局设置不可点击
文章图片

上图效果的代码实现:
1,activity的xml布局(布局中有个Button按钮,点击按钮弹出一个popupwindow )


2,上图中有白色背景的popupwindow 的xml布局:

3,MainActivity的代码实现:
public class MainActivity extends AppCompatActivity { private View pop; private LinearLayout ll_popup,ll_popup_content; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pop = View.inflate(this, R.layout.popupwindow_test, null); ll_popup = pop.findViewById(R.id.ll_popup); ll_popup_content = pop.findViewById(R.id.ll_popup_content); //Linearloyout就不可点击了 ll_popup_content.setOnClickListener(null); }public void click(View view) { final PopupWindow popupWindow = new PopupWindow(pop, MATCH_PARENT, MATCH_PARENT); ll_popup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); } }); popupWindow.showAtLocation(getWindow().getDecorView(), Gravity.TOP,0,0); }@Override public void onWindowFocusChanged(boolean hasFocus) { //完全沉浸式 super.onWindowFocusChanged(hasFocus); if (hasFocus && Build.VERSION.SDK_INT >= 19) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } } }

相关知识:
【Android LinearLayout整个布局设置不可点击】其他方法,但是对于我的需求都没有效果:
都是设置setClickable(false)或者setClickable(false)或者setFocusable(false)
setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。
setEnabled():设置成true时,相当于激活了按钮,按钮的状态不再是死的,而是会对触摸或者点击产生反应,并且可以响应一些触发事件。而设置成false时,按钮是灰色的,无论是否可点击(即使将setClickable()设置成true),都无法响应任何触发事件。
setFocusable:使能控件获得焦点,设置为true时,并不是说立刻获得焦点,要想立刻获得焦点,得用requestFocus;
使能获得焦点,就是说具备获得焦点的机会、能力,当有焦点在控件之间移动时,控件就有这个机会、能力得到焦点。

    推荐阅读