Button color change on hover

2019-02-09 14:52发布

I'm just a beginner with Android. I want the button to change its color on mouseover.
I don't know how to do that in android. Can it be done?

View for a button:

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

4条回答
做个烂人
2楼-- · 2019-02-09 15:07

You need to use what's called a selector.

You can read about them and get a tutorial from this site.

Keep in mind that there really isn't a concept in Android as "hover" since you can't hover your finger over the display. But you can create selectors for, say, when a button has focus. Normally a button can have three states: Normal, Focused and Pressed.

查看更多
不美不萌又怎样
3楼-- · 2019-02-09 15:09

Here is xml-- hover.xml --

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

and how i use it in Button for color change on hover

<Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@drawable/hover"
                        ></Button>
查看更多
地球回转人心会变
4楼-- · 2019-02-09 15:21

Hovering is possible on Android: all devices that have a track ball or D-pad or QWERTY keyboard arrow keys can move the "hover" or focus to anything that is pressable (clickable). Then, on my G1 for example, you press the track ball to press it down into the android:state_pressed state.

查看更多
兄弟一词,经得起流年.
5楼-- · 2019-02-09 15:29

The particular mouse hover functionality as we know it, is supported on Android OS 4.0 and above. Views have onHoverListeners(). Isnt it finally great

查看更多
登录 后发表回答