Question

I have icons of other applications installed in device/emulator in my application.

As we normally apply hover effect with selector, how can I do the same for other app icons as I don't have hover image for them?

TIA.

Was it helpful?

Solution

Managed to add default hover background for each icon as follows.

Icon holder view :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:focusable="true"
    android:gravity="center"
    android:orientation="vertical" 
    android:background="@drawable/custom_press">

    <ImageView
        android:id="@+id/imageview_app_item_icon"
        android:layout_width="@dimen/icon_size"
        android:layout_height="@dimen/icon_size"
        android:layout_margin="10dp"
        android:focusable="true" />

    <TextView
        android:id="@+id/textview_app_item_name"
        android:layout_width="@dimen/icon_size"
        android:layout_height="60dp"
        android:gravity="center|top"
        android:textColor="@android:color/black"
        android:textSize="17sp"
        android:textStyle="bold" />

</LinearLayout>

Selector for icon holder view :

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_focused="true" android:state_pressed="false">
    <shape android:shape="rectangle">
        <corners android:radius="25dp" />
        <gradient android:startColor="@android:color/white" 
            android:centerColor="@android:color/white"
            android:endColor="@android:color/white"/>
    </shape></item>
<item android:state_focused="true" android:state_pressed="true">
    <shape android:shape="rectangle">
        <corners android:radius="25dp" />
        <gradient android:startColor="@android:color/white" 
            android:centerColor="@android:color/white"
            android:endColor="@android:color/white"/>
    </shape></item>
<item android:state_focused="false" android:state_pressed="true">
    <shape android:shape="rectangle">
        <corners android:radius="25dp" />
        <gradient android:startColor="@android:color/white" 
            android:centerColor="@android:color/white"
            android:endColor="@android:color/white"/>
    </shape></item>
<item >
   <shape android:shape="rectangle">
        <corners android:radius="25dp" />
        <gradient android:startColor="@android:color/transparent" 
            android:centerColor="@android:color/transparent"
            android:endColor="@android:color/transparent"/>
    </shape></item>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top