LinearLayout获取焦点并响应点击事件监听
LinearLayout控件
<LinearLayoutandroid:id="@+id/gj_recruit"android:layout_width="match_parent"android:layout_height="50dip"android:layout_marginBottom="17dip"android:background="@drawable/toggle_fillet"android:focusableInTouchMode="true"android:clickable="true"android:orientation="horizontal"android:padding="7dip">
1、通过background切换获取焦点和失去焦点的样式,在drawable中新建一个toggle_fillet.xml。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true"><shape><solid android:color="@color/gj_green" /><corners android:bottomLeftRadius="25dp" android:bottomRightRadius="25dp" android:topLeftRadius="25dp" android:topRightRadius="25dp" /><stroke android:width="1dp" android:color="#46c37b" /></shape></item><item><shape><solid android:color="@color/grid_state_pressed" /><corners android:bottomLeftRadius="25dp" android:bottomRightRadius="25dp" android:topLeftRadius="25dp" android:topRightRadius="25dp" /><stroke android:width="1dp" android:color="@color/gj_green" /></shape></item>
</selector>
没有属性的item为默认的样式,state_fouchsed为获取焦点时的样式(item属性参考:点击打开链接)。
2、设置focusableInTouchMode和clickable为true,但是设置focusableInTouchMode为true的时候会存在一个问题,第一次点击控件的时候,它将取得焦点,第二次点击的时候才去响应点击事件。解决方案:implements View.OnTouchListener,继承touch事件,当松开的时候去执行点击事件。
2.1、判断touch事件的状态,松开时执行点击事件:
@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_UP){onClick(v);}return false;}
LinearLayout获取焦点并响应点击事件监听相关推荐
- android 判断按钮是否已经有onclicklinstener,通过点击事件监听setOnClickListener彻底理解回调...
前言 老司机们对于回调肯定熟悉得不能再熟悉了,但是新司机可能还是一脸懵逼的,我比较笨,当年懵逼了好久,看夏安明的这一篇博客地址,虽然下边的留言都是,写得好!懂了懂了!但是我当时看了三遍还是不懂好吗 - ...
- 通过点击事件监听 setOnClickListener 彻底理解回调-Android
前言 老司机们对于回调肯定熟悉得不能再熟悉了,但是新司机可能还是一脸懵逼的,我比较笨,当年懵逼了好久,看夏安明的这一篇博客地址,虽然下边的留言都是,写得好!懂了懂了!但是我当时看了三遍还是不懂好吗 - ...
- android 键盘点击事件监听事件,Android 键盘事件触发以及监听
一.Android 手动显示和隐藏软键盘 如果输入法在窗口上已经显示,则隐藏,反之则显示 InputMethodManager imm = (InputMethodManager) getSystem ...
- angular4点击事件监听_JavaScript从零开始——DOM事件编程(1)
事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现.DOM 支持大量的事件,本章开始,我们一起看看 DOM 的事件编程. 1 概念 DOM 的事件操作(监听和触发),都定义在Eve ...
- java按钮点击事件监听_按钮事件监听
[java]代码库/** * 功能:按钮事件监听 */ package com.test; import java.awt.*; import javax.swing.*; import java.a ...
- RecyclerView点击事件监听
通过一个demo记录recyclerview的基础用法,包括设置item间距,adapter内监听点击和接口回调监听. MyAdapter package com.example.kw.recycle ...
- html表格td点击事件,监听layui中的table中的td点击事件
上图 就是用layui生成的一个table表格; 在这里我们给td绑定class,再通过jq的方式去监听是不可行的; 会监听不到事件; 不过在layui中,给了监听方法,并且还可以获取到该行所有的数据 ...
- android通知栏显示,通知栏点击事件监听
android通知是通过Notification来实现的,显示在通知栏,不管是系统通知还是本地通知都可以通过Notification显示在通知栏中. 通知显示参考:https://blog.csdn. ...
- js鼠标点击事件监听
鼠标移动监听: <script>var cont = 0;function f() {document.getElementById("an1").innerHTML ...
最新文章
- 排序算法——冒泡排序、选择排序、直接插入排序
- 【转】shell之for、while、until循环
- Win32多线程编程(6) — 多线程协作及线程的池化管理
- kaggle(05)---Event Recommendation Engine Challenge(基础版)
- 程序员的恶性循环 !
- 锐捷 重启计算机,win7系统锐捷客户端总是提示重启计算机后才能使用的解决方法...
- java 文件流传输_java – 将远程文件流式传输到文件对象中
- Mysql8.0以上重置初始密码的方法
- 昆仑通态屏幕制作(连载1)---接触篇
- 用计算机检索生物学文献,文献检索期末复习
- 霹雳狂刀---回忆录
- 新版edge浏览器没有internet选项怎么办?
- Leet Code OJ 刷题顺序参考
- 微服务 杜家豪_搞好“微建设微服务”也是大业绩
- Nginx报错Mixed Content: The page was loaded over HTTPS, This content should also be served over https
- 如何应对VB中对象库注册失败(MSCOMCTL.OCX)
- python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
- c#使用Aspose实现Word域套打
- 通过传感器创新使世界更健康、更安全
- JavaScript函数柯理化