首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏c#开发者

    C# : row-clickable GridView and get and set gridview rows using JavaScript

    Complete C# code: ---------------- using System; using System.ComponentModel; using System.Configuration; using System.Web.UI; using System.Web.UI.WebControls; namespace CustomGridView { ///

    /// Summary description for ClickableGridView/// </su

    89560发布于 2018-04-12
  • AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理

    最近在写一个关于某音的脚本,包含刷视频/点赞/收藏/分享/评论等一些列功能,借助于AutoX来实现,虽然我老早就买了AutoJs Pro 但是最新版本阉割的有点厉害。。。

    53110编辑于 2024-08-15
  • 来自专栏全栈测试技术

    『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程

    ="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password ="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password ="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password ="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="true" password ="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="true" password

    6.1K20编辑于 2023-12-14
  • 来自专栏中国Android研究院

    进阶必备-Android Click事件是怎么触发的?

    & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; 在onTouchEvent方法的一开始,通过viewFlags去判断当前View的CLICKABLE或者LONG_CLICKABLE 默认情况下,在View初始化的时候会从xml读clickable属性或者longclickable属性。 所以在默认情况下Button的clickable=true。 通过下面这行代码(View.java的13743行)就可以知道,当clickable=true时, if (clickable || (viewFlags & TOOLTIP) == TOOLTIP){

    2.7K20发布于 2018-10-18
  • 来自专栏俞其荣的博客

    Android onTouch事件传递机制解析

    return (((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE ) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE); } if (mTouchDelegate ) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE) || (viewFlags ) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE) || (viewFlags & CONTEXT_CLICKABLE) If this view is not * clickable, it becomes clickable.

    1.1K40编辑于 2022-07-28
  • 来自专栏Java学习网

    Java 8新特性——提供了一种可以看作多重继承的默认方法

    代码实例如下: interface Clickable{ default void click(){ System.out.println("click"); } } interface Accessible { default void access(){ System.out.println("access"); } } public class Button implements Clickable, 结构图及实例代码如下: 网络配图 interface Clickable{ default void click(){ System.out.println("click"); } default void print(){ System.out.println("Clickable"); } } interface Accessible{ default void access(){ System.out.println , Accessible { public void print(){ Clickable.super.print(); Accessible.super.print(); } public static

    73450发布于 2018-02-27
  • 来自专栏Android常用基础

    开发笔记-自定义View(十)-View的事件分发机制

    //如果不可用 同时当前控件的clickable与long_clickable //与CONTEXT_CLICKABLE全是false //那么才返回false 与long_clickable //与CONTEXT_CLICKABLE 有一个为true 就进入次循环 if (((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE) || (viewFlags //如果不可用 同时当前控件的clickable与long_clickable //与CONTEXT_CLICKABLE全是false //那么才返回false part2 /** *讲解二 */ //只要控件的clickable与long_clickable //与CONTEXT_CLICKABLE

    79520发布于 2018-09-11
  • 来自专栏码客

    Android使用Jetpack Compose开发防止按钮连点及去除涟漪效果

    防止按钮连点 import android.annotation.SuppressLint import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource canClick) { delay(delay) canClick = true } }) Modifier.clickable debouncedClickable { event(BtnType.UNINSTALL, appItem) }) { ZBtnView2("卸载") } 也就是把clickable ) inline fun Modifier.noRippleClickable(crossinline onClick: () -> Unit): Modifier = composed { clickable interactionSource = remember { MutableInteractionSource() }) { onClick() } } 使用方法: 把clickable

    1.1K10编辑于 2024-04-25
  • 来自专栏android技术

    Android--事件分发机制(一)

    = ((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE ) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; if ((viewFlags & return clickable; } if (mTouchDelegate ! clickable) { removeTapCallback(); removeLongPressCallback break; case MotionEvent.ACTION_CANCEL: if (clickable

    81030发布于 2020-07-03
  • 来自专栏我就是马云飞

    View的事件源码解析

    1.clickable:控制当前view是否可以点击 2.longclickable:控制当前view是否可以长按 3.foucsable:是否可以获取当前view的焦点(一般用于edittext) 4 final boolean clickable = ((viewFlags & CLICKABLE) == CLICKABLE|| (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE)|| (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; ... 源码太多,这边我省略了部分源码,留了几个重点,我们可以看下clickable是通过或的关系得到的,也就是只要长按和点击有一个执行,那他为ture。 后面还有一段就是当clickable为false的时候移除所有的事件回调。

    1.1K60发布于 2018-02-05
  • 来自专栏码客

    Jetpack Compose中的的事件处理、不显示涟漪效果

    点击事件 Button Button ( onClick = { // 处理点击事件 }) { //... } Modifier.clickable 非Button处理点击事件 Box( modifier = Modifier.clickable { // 处理点击事件 } ) Modifier.combinedClickable 在单击事件之外,同时可以处理双击 在这里可以识别 click 手势,而且相应优先级高于 clickable,但是不会触发水波纹之类的效果 Box( modifier = Modifier .pointerInput ModifierFactoryUnreferencedReceiver") inline fun Modifier.noRippleClickable(crossinline onClick: ()->Unit): Modifier = composed { clickable onClick() } } 使用方式 Modifier .noRippleClickable() { callback(mList[it].appgroupid, it) } 也就是把之前的clickable

    1K10编辑于 2024-03-29
  • 来自专栏Android 进阶

    View 事件分发

    无法响应任何点击事件 //click.setEnabled(false);         click.setOnClickListener(this); //只有在onClickListener事件之后设置clickable = ((viewFlags & CLICKABLE) == CLICKABLE             || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE )             || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; //如果当前view是disabled并且可以点击则消费事件 return clickable;     }     if (mTouchDelegate ! ) == LONG_CLICKABLE || (mViewFlags & TOOLTIP) == TOOLTIP) {         mHasPerformedLongPress = false

    99610发布于 2019-12-26
  • 来自专栏深入理解Android

    重新复习Android View事件分发

    final int action = event.getAction(); // 只要View的CLICKABLE和LONG_CLICKABLE有一个为true,onTouchEvent()就会 if ((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE) { switch(action) { case MotionEvent.ACTION_UP 5.View的onTouchEvent默认都会消耗事件(返回true),除非它是不可点击的(clickable和longClickable同时为false)。 View的longClickable属性默认都为false,clickable属性要分情况,比如Button的clickable属性默认为true,而TextView的clickable默认为false

    55720编辑于 2022-06-22
  • 来自专栏测吧测试开发

    利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

    actions: [] times: 0 - given: [] when: null then: [] xpath: "//*[contains(name(), 'Text') and @clickable text)<10]" action: null actions: [] times: 0 - given: [] when: null then: [] xpath: "//*[@clickable 'true']" action: null actions: [] times: 0 - given: [] when: null then: [] xpath: "//*[@clickable 有时候我们会遇见这种情况:设置了 clickable 未 true 的控件都被遍历,可是运行时发现很多控件都没有被遍历到,一般这种情况有一下两种原因: 元素属性 clickable 本身就为 false ='true']//*", action: click } 5)另外我们之前在 selectList 中写了 clickable=true, 而 clickable=true 通常只是布局元素,布局元素一般是没有任何属性的

    98110编辑于 2022-05-26
  • 来自专栏CodingBlock

    Android查缺补漏(View篇)--事件分发机制源码分析

    = ((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE ) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; // 从这段代码可知,即使不可用状态的控件也会消费事件 return clickable; } // mTouchDelegate是View的代理,有代理的情况下回调用代理的onTouchEvent方法。 赋值时我们可以知道,不管View是不是disable状态,只要它的CLICKABLE和LONG_CLICKABLE有一个为true时,它就会消耗这个事件。 clickable) { removeTapCallback(); removeLongPressCallback();

    1K70发布于 2018-03-30
  • 来自专栏python爬虫实战之路

    selenium+requests进行cookies保存读取操作

    www.baidu.com") print(driver.title) WebDriverWait(driver, 10, 0.5).until(EC.element_to_be_clickable "u1"]/a[7]') element.click() WebDriverWait(driver, 10, 0.5).until(EC.element_to_be_clickable footerULoginBtn"]') element.click() WebDriverWait(driver, 10, 0.5).until(EC.element_to_be_clickable element.send_keys(yanzheng) WebDriverWait(driver, 10, 0.5).until( EC.element_to_be_clickable element.click() WebDriverWait(driver, 10, 0.5).until( EC.element_to_be_clickable

    3K50发布于 2018-08-21
  • 来自专栏Corley的开发笔记

    uni-app实战之社区交友APP(9)我的页面开发

    ="true" @click="open('user-password')"></uni-list-item> <uni-list-item title="绑定邮箱" :clickable="true ="true" @click="open('user-password')"></uni-list-item> <uni-list-item title="绑定邮箱" :clickable="true " @click="open('user-email')"></uni-list-item> <uni-list-item title="资料编辑" :clickable="true" @click clickable && !link) || disabled || showSwitch ? == '') { this.openPage(); return; } if (this.clickable || this.link) { this.

    3.1K20发布于 2021-02-22
  • 来自专栏胡飞洋的Android进阶

    View事件分发、滑动冲突 详解

    onInterceptTouchEvent方法返回false View没有onInterceptTouchEvent() View的onTouchEvent默认会消耗事件(返回True),除非它是不可点击的——-clickable 和 longClickable同时为false.注意:View的longClickable默认都为false,clickable要根据控件属性判断。 = ((viewFlags & CLICKABLE) == CLICKABLE || (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE ) || (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE; if ((viewFlags & //即使disabled,也是可点击也会消费事件 return clickable; } if (mTouchDelegate !

    1.5K10发布于 2020-07-23
  • 来自专栏ceshiren0001

    深入解析AppCrawler:开源自动遍历测试工具配置指南

    []    times: -1  - given: []    when: null    then: []    xpath: "//*[contains(name(), 'Text') and @clickable ]"    action: ""    actions: []    times: -1  - given: []    when: null    then: []    xpath: "//*[@clickable ]    times: -1  - given: []    when: null    then: []    xpath: "//*[contains(name(), 'Image') and @clickable ]"    action: ""    actions: []    times: -1  - given: []    when: null    then: []    xpath: "//*[@clickable []    times: -1  - given: []    when: null    then: []    xpath: "//*[contains(@class, 'Text') and @clickable

    20410编辑于 2025-09-28
  • 来自专栏设计模式

    一文读懂Android View事件分发机制

    和longClickable同时为false),View的longClickable默认为false,clickable需要区分情况,如Button的clickable默认为true,而TextView 的clickable默认为false。 只要CLICKABLE和LONG_CLICKABLE有一个为true,就一定会消费这个事件,就是onTouchEvent返回true。 默认为false,clickable需要区分情况,如Button的clickable默认为true,而TextView的clickable默认为false。 最后再强调一点,我们刚说过View的longClickable默认为false,clickable需要区分情况,如Button的clickable默认为true,而TextView的clickable默认为

    54820发布于 2020-12-15
领券