android LinearLayout等view如何獲取button效果

我們可以給LinearLayout以及一切繼承自View的控件,設置View.onClickListener監聽,例如LInearLayout。

但是我們發現LinearLayout可以執行監聽方法體,但是沒有點擊效果。

所謂的點擊效果就是當我們用鼠標點擊控件時,可以高亮或者動一下,給用戶一個操作反饋。

如何給LinearLayout實現上述效果那,最簡單的就是給LinearLayout配置上以下屬性

 

style="?android:attr/actionButtonStyle" 

style="?android:attr/actionButtonStyle"

那麼我們的按鈕就具有瞭Button的樣式效果。點擊等操作和Button一樣。

另外:我們也可以配置一個文件,在文件內配置上點擊時圖片效果,按下時圖片效果等,例如:

 

?<selector xmlns:android="https://schemas.android.com/apk/res/android"                                                                      |~                              
          android:exitFadeDuration="@android:integer/config_mediumAnimTime">                                                              |~                              
                                                                                                                                          |~                              
    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of      |~                              
pressed state. -->                                                                                                                        |~                              
    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/           |~                              
list_selector_disabled_holo_dark" />                                                                                                      |~                              
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/           |~                              
list_selector_disabled_holo_dark" />                                                                                                      |~                              
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/           |~                              
list_selector_background_transition_holo_dark" />                                                                                         |~                              
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/           |~                              
list_selector_background_transition_holo_dark" />                                                                                         |~                              
    <item android:state_focused="true"                                                             android:drawable="@drawable/           |~                              
list_focused_holo" />                                                                                                                     |~                              
    <item                                                                                          android:drawable="@color/transparent" /|~                              
>                                                                                                                                         |~                              
</selector> 

<selector xmlns:android="https://schemas.android.com/apk/res/android"                                                                      |~                            
          android:exitFadeDuration="@android:integer/config_mediumAnimTime">                                                              |~                            
                                                                                                                                          |~                            
    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of      |~                            
pressed state. -->                                                                                                                        |~                            
    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/           |~                            
list_selector_disabled_holo_dark" />                                                                                                      |~                            
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/           |~                            
list_selector_disabled_holo_dark" />                                                                                                      |~                            
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/           |~                            
list_selector_background_transition_holo_dark" />                                                                                         |~                            
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/           |~                            
list_selector_background_transition_holo_dark" />                                                                                         |~                            
    <item android:state_focused="true"                                                             android:drawable="@drawable/           |~                            
list_focused_holo" />                                                                                                                     |~                            
    <item                                                                                          android:drawable="@color/transparent" /|~                            
>                                                                                                                                         |~                            
</selector>

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *