解決LinearLayout或ImageView設置按下效果不起作用,無效果

今天隨便寫點東西,畫了個界面,然後想給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"

在此記錄作爲參考。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章