2012-05-10 448 views
6

我只是Android的初學者。我希望按鈕在鼠標懸停時更改其顏色。
我不知道如何在android中做到這一點。可以做到嗎?懸停時按鈕顏色變化

查看一個按鈕:

<Button 
    android:id="@+id/b8" 
    android:text="click me" 
    style="?android:attr/buttonStyleSmall" 
    android:textSize="20dp" /> 
+0

嘗試參照 - HTTP ://stackoverflow.com/questions/5828148/mouseover-effect-from-xml – Keith

+0

這裏有一個很有前途的資源:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/ view/Hover.html –

+1

@ColorState有一個鼠標(包括鼠標光標等),如果你連接一個(應該工作在任何> =蜂窩)。並且在SDK 14中有用於狀態可繪製的'android:state_hovered' http://www.youtube.com/watch?v=3w439neLjcc – zapl

回答

2

你需要使用什麼叫做selector

你可以閱讀有關他們和this site.

得到一個教程請記住,是不是真的有在Android作爲「懸停」,因爲你不能在顯示你的手指懸停的概念。但是,您可以爲按鈕具有焦點時創建選擇器。通常按鈕可以有三種狀態:正常,聚焦和按下。

+1

不,您不能將手指懸停在顯示屏上,但可以將觸控筆或鼠標指針懸停在視圖上。 – Veeti

+0

確實有一個「懸停」狀態,以及其他一些狀態,不僅僅是你列出的狀態。考慮到應用不僅可以在普通手機上運行,​​還可以在各種設備上運行,例如電視,例如 – Anton

+0

實際上有一個state_hovered:http://developer.android.com/guide/topics/resources/drawable -resource.html,這是從2011年 –

0

Android上可以懸停:所有具有軌跡球或D-pad或QWERTY鍵盤箭頭鍵的設備都可以將「懸停」或焦點移動到任何可按下(可點擊)的內容。然後,在我的G1上,例如,按軌跡球將其按下,進入android:state_pressed狀態。

3

Android OS 4.0及更高版本支持我們熟悉的鼠標懸停功能。 視圖有onHoverListeners()。不是它最終偉大

+0

這太棒了! – Feona

+0

請評價我的回覆:P – samreen

+0

請引用來源? –

1

這裏是xml-- hover.xml -

<item android:drawable="@drawable/image__hover" android:state_focused="false" android:state_pressed="true"/> 
<item android:drawable="@drawable/normalimage"/> 

以及如何使用它的按鈕顏色變化上懸停

<Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:background="@drawable/hover" 
         ></Button>