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

来源:互联网 发布:深圳软件开发公司简介 编辑:程序博客网 时间:2024/05/22 12:48

今天随便写点东西,画了个界面,然后想给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"

在此记录作为参考。

原创粉丝点击