假设有这样的场景:linearlayout里放了若干子控件,其中有一个textview,希望将textview的事件屏蔽掉,交给linearlayout处理,可以给textview设置android:clickable="false" android:longClickable="false"

这样textview就只保留了显示文字的功能,长按、点击textview和长按点击linearlayout效果一样。下面是小demo


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:id="@+id/layout_root"android:background="@drawable/root_selector"><TextViewandroid:id="@+id/textview"android:layout_width="match_parent"android:layout_height="100dp"android:text="TextView"android:gravity="center"android:textSize="30sp"android:textColor="#000000"android:clickable="false"android:longClickable="false"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="button"/>
</LinearLayout>

root_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@color/colorAccent"android:state_pressed="true"/><!-- 自然状态 --><item android:drawable="@color/colorWhite"/>
</selector>

MainActivity.java

package com.kw.testclickable;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private static final String TAG = "kwdebug";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LinearLayout root = findViewById(R.id.layout_root);TextView textView = findViewById(R.id.textview);root.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.d(TAG, "onClick: 点击了根布局");}});root.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {Log.d(TAG, "onLongClick: 长按了根布局");return true; // 返回true屏蔽普通点击事件}});}
}

安卓 屏蔽子控件点击事件相关推荐

  1. [习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)

    这是我的文章备份,有空请到我的网站走走, http://www.dotblogs.com.tw/mis2000lab/ 才能掌握我提供的第一手信息,谢谢您. http://www.dotblogs.c ...

  2. [习题]如何触发 GridView 身体里面的「子控件」的事件 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充)...

    [习题]如何触发 GridView 身体里面的「子控件」的事件?#1 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充) 這個範例是要補充書本「上集」(ASP.NET專題實務) ...

  3. 2023-02-24 Android app java 模拟控件点击事件,使用performClick方法去实现

    一.Android app java 模拟控件点击事件,使用performClick方法去实现. 二.实际使用 private TextView m_bt_connect ;m_bt_connect ...

  4. android 控件覆盖关系,安卓子控件抢占父控件点击事件或者焦点问题

    开发中很常见的一个问题,项目中的lListview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现 ...

  5. android 表格控件点击事件,Android零基础入门|RecyclerView点击事件处理

    原标题:Android零基础入门|RecyclerView点击事件处理 前面两期学习了RecyclerView的简单使用,并为其item添加了分割线.在实际运用中,无论是List还是Grid效果,基本 ...

  6. Android控件捕获点击事件的范围

    View的Tween动画过程中点击事件的位置并不会因为动画位置的改变而改变,是因为在动画过程中layout的位置实际上没有变,因此曾经一度认为View的点击事件(其实不仅仅是点击事件,包括所有的触摸事 ...

  7. Android视图绑定,设置控件点击事件不生效

    我遇到的问题是: setContentView(R.layout.acitivty_main); setContentView(mainBinding.getRoot); 应该使用下面的来绑定布局,不 ...

  8. listview item里面的控件点击事件

    listview item点击事件(https://www.google.com.hk/?gws_rd=cr%2Cssl#newwindow=1&safe=strict&q=listv ...

  9. dev 点击子控件触发panelcontrol事件_LINUX IIO子系统分析之二 IIO子系统数据结构分析...

    上一章我们简要说明了IIO子系统的架构,本章我们通过数据结构的定义,分析IIO子系统的设计实现,本章的主要内容如下: 一.IIO子系统各数据结构说明 二.数据结构间的关联说明 一.IIO子系统各数据结 ...

最新文章

  1. 【Spring】bean的作用域(@Scope) - singleton、prototype
  2. 在神经网络中使用dropout
  3. 配置MOSS2007beta2的单机开发环境(下)
  4. Cocos2d-x 3.0final 终结者系列教程03-源代码文件夹说明
  5. C#调用SQL Server分页存储过程
  6. 1、jquery事件绑定和委托的实现
  7. (pytorch-深度学习)实现残差网络(ResNet)
  8. 一文带你看懂物联网开源操作系统
  9. linux tomcat配置https
  10. python数字类型floatcomplexint_Python 四种数值类型(int,long,float,complex)区别及转换
  11. css定位position,absolute relative两种情况下,top,left,right,bottom的区别
  12. JavaScript编程用法——JavaScript运行环境
  13. 批处理常用DOS命令简述
  14. adb配置环境变量没有反应
  15. 抖音下载助手GUI版 主页视频批量下载
  16. 管理hiberfil.sys文件与pagefile.sys文件释放C盘
  17. 15亿美元买个“便宜货”
  18. App Tamer for mac怎么用?
  19. 计算机学 英文,计算机英语学习
  20. 面部微雕做了以后有危害吗,自体脂肪填充苹果肌硬块多久消,姐姐聚会那些事

热门文章

  1. phpstudy搭建网站使用php,教你用phpstudy搭建本地服务并建dedecms网站
  2. TypeError: ‘method‘ object is not subscriptable
  3. Interview:算法岗位面试—10.17早上—上海某科技公司算法岗位(偏算法,独角兽)非技术面试之比赛项目讲解和项目意义的探讨
  4. DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
  6. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
  7. BlockChain:Python一步一步实现(流程最清楚)区块链底层技术流程图(理解一目了然,值得收藏)
  8. 尝鲜delphi开发android/ios_环境搭建
  9. python 中给文件加锁——fcntl模块
  10. Android IllegalStateException: The specified child already has a parent问题解决办法