安卓 屏蔽子控件点击事件
假设有这样的场景: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屏蔽普通点击事件}});}
}
安卓 屏蔽子控件点击事件相关推荐
- [习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)
这是我的文章备份,有空请到我的网站走走, http://www.dotblogs.com.tw/mis2000lab/ 才能掌握我提供的第一手信息,谢谢您. http://www.dotblogs.c ...
- [习题]如何触发 GridView 身体里面的「子控件」的事件 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充)...
[习题]如何触发 GridView 身体里面的「子控件」的事件?#1 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充) 這個範例是要補充書本「上集」(ASP.NET專題實務) ...
- 2023-02-24 Android app java 模拟控件点击事件,使用performClick方法去实现
一.Android app java 模拟控件点击事件,使用performClick方法去实现. 二.实际使用 private TextView m_bt_connect ;m_bt_connect ...
- android 控件覆盖关系,安卓子控件抢占父控件点击事件或者焦点问题
开发中很常见的一个问题,项目中的lListview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现 ...
- android 表格控件点击事件,Android零基础入门|RecyclerView点击事件处理
原标题:Android零基础入门|RecyclerView点击事件处理 前面两期学习了RecyclerView的简单使用,并为其item添加了分割线.在实际运用中,无论是List还是Grid效果,基本 ...
- Android控件捕获点击事件的范围
View的Tween动画过程中点击事件的位置并不会因为动画位置的改变而改变,是因为在动画过程中layout的位置实际上没有变,因此曾经一度认为View的点击事件(其实不仅仅是点击事件,包括所有的触摸事 ...
- Android视图绑定,设置控件点击事件不生效
我遇到的问题是: setContentView(R.layout.acitivty_main); setContentView(mainBinding.getRoot); 应该使用下面的来绑定布局,不 ...
- listview item里面的控件点击事件
listview item点击事件(https://www.google.com.hk/?gws_rd=cr%2Cssl#newwindow=1&safe=strict&q=listv ...
- dev 点击子控件触发panelcontrol事件_LINUX IIO子系统分析之二 IIO子系统数据结构分析...
上一章我们简要说明了IIO子系统的架构,本章我们通过数据结构的定义,分析IIO子系统的设计实现,本章的主要内容如下: 一.IIO子系统各数据结构说明 二.数据结构间的关联说明 一.IIO子系统各数据结 ...
最新文章
- 【Spring】bean的作用域(@Scope) - singleton、prototype
- 在神经网络中使用dropout
- 配置MOSS2007beta2的单机开发环境(下)
- Cocos2d-x 3.0final 终结者系列教程03-源代码文件夹说明
- C#调用SQL Server分页存储过程
- 1、jquery事件绑定和委托的实现
- (pytorch-深度学习)实现残差网络(ResNet)
- 一文带你看懂物联网开源操作系统
- linux tomcat配置https
- python数字类型floatcomplexint_Python 四种数值类型(int,long,float,complex)区别及转换
- css定位position,absolute relative两种情况下,top,left,right,bottom的区别
- JavaScript编程用法——JavaScript运行环境
- 批处理常用DOS命令简述
- adb配置环境变量没有反应
- 抖音下载助手GUI版 主页视频批量下载
- 管理hiberfil.sys文件与pagefile.sys文件释放C盘
- 15亿美元买个“便宜货”
- App Tamer for mac怎么用?
- 计算机学 英文,计算机英语学习
- 面部微雕做了以后有危害吗,自体脂肪填充苹果肌硬块多久消,姐姐聚会那些事
热门文章
- phpstudy搭建网站使用php,教你用phpstudy搭建本地服务并建dedecms网站
- TypeError: ‘method‘ object is not subscriptable
- Interview:算法岗位面试—10.17早上—上海某科技公司算法岗位(偏算法,独角兽)非技术面试之比赛项目讲解和项目意义的探讨
- DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
- Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
- BlockChain:Python一步一步实现(流程最清楚)区块链底层技术流程图(理解一目了然,值得收藏)
- 尝鲜delphi开发android/ios_环境搭建
- python 中给文件加锁——fcntl模块
- Android IllegalStateException: The specified child already has a parent问题解决办法