You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android ListView中禁用波纹效果?已在iOS实现

如何在NativeScript ListView的Android端禁用波纹效果

当然可以实现!你已经在iOS端通过修改UITableViewCell的selectionStyle完成了禁用选择效果,Android端也有对应的原生API可以实现同样的需求。

具体实现代码

你只需要在onItemLoading的Android分支中,获取原生的列表项视图,然后禁用其选择波纹效果即可:

onItemLoading(args: any) { 
    if (ios) { 
        const cell = args.ios; 
        cell.selectionStyle = UITableViewCellSelectionStyle.UITableViewCellSelectionStyleNone; 
    } else if (android) { 
        // 获取Android原生的列表项视图
        const nativeView = args.android;
        // 设置选择器为透明,移除波纹效果
        nativeView.setSelector(android.R.color.transparent);
        
        // 针对Android 6.0及以上版本,额外移除前景层的波纹
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            nativeView.setForeground(null);
        }
    } 
}

补充说明

  • setSelector(android.R.color.transparent):这会替换默认的波纹选择器为透明,从根源上移除点击时的波纹效果。
  • 针对Android 6.0+的setForeground(null):部分新版本的Android控件会通过foreground属性实现波纹,加上这一步可以确保完全禁用。

这样修改后,你的ListView在Android端点击时就不会再显示波纹效果了,和iOS端的行为保持一致。

内容的提问来源于stack exchange,提问作者Roman Šimr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:20:51