解决LinearLayout或ImageView设置按下效果不起作用,无效果

本文总结了在Android开发中遇到的控件点击效果不生效的问题及解决方案,包括检查控件是否被覆盖、修正selector文件的顺序以及为控件添加clickable属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天随便写点东西,画了个界面,然后想给LinearLayout做个按下效果,结果发现不管我怎么按都没有效果。万能的百度也没查到是什么原因,那我现在总结一下给控件设置的效果,不起作用大概有这么几种情况。



1.控件是否被其上层或底层控件覆盖,并赋予控件其颜色。

如:在最底层的LinearLayout或RelativeLayout设置过background = "#FFFFFF";

解决办法:去掉最底层或其上层颜色,或把其颜色设置为透明色


2.控件的selector写的是否正确。

如:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/white"/>
    <item android:state_focused="true" android:drawable="@color/dark_white"/>
    <item android:state_pressed="true" android:drawable="@color/dark_white"/>
</selector>
你的selector是否跟我写的顺序一样?哈哈,那你就错啦!

解决方法:把默认颜色移到最下方,不然会一直没有效果,像这样:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@color/dark_white"/>
    <item android:state_pressed="true" android:drawable="@color/dark_white"/>
    <item android:drawable="@color/white"/>
</selector>


3.xml中的控件是否添加过可点击属性。

如:

<LinearLayout
        android:id="@+id/fragment_mine_about_layout"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="@drawable/selector_mine_button_background"
        android:orientation="horizontal">

解决方法:在其属性中添加clickable属性,使其可以点击。

android:clickable="true"

在此记录作为参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不强何以成标杆

有钱捧个钱场,没钱捧个人场奥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值