2012-05-10 399 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>