• Как быстро сделать эффект нажатия для ImageView или Button с картинкой?

    FanKiLL
    @FanKiLL
    А какой эффект интересует, именно анимация, или смена цвета, бордера, смена размера шрифта?
    Тогда это можно сделать стилями.

    Например красная кнопка
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" >
            <shape>
                <solid
                    android:color="#ef4444" />
                <stroke
                    android:width="1dp"
                    android:color="#992f2f" />
                <corners
                    android:radius="3dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>
        <item>
            <shape>
                <gradient
                    android:startColor="#ef4444"
                    android:endColor="#992f2f"
                    android:angle="270" />
                <stroke
                    android:width="1dp"
                    android:color="#992f2f" />
                <corners
                    android:radius="3dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>
    </selector>


    Обратите внимание на android:state_pressed="true" означает когда кнопка например нажата, это разные состояния, подробней можете прочитать тут

    таких состояний довольно много - например android:state_focused

    Так можно поменять полностью дизайн кнопки

    Цепляете потом этот стиль к кнопке в layout

    <Button
                        android:id="@+id/btnCansel"
                        style="@style/button"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:background="@drawable/custom_red_button"
                        android:onClick="onClickCanselButton"
                        android:text="@string/clear" />


    Обратите внимание на android:background="@drawable/custom_red_button" тут цепляется стиль с описанием разных состояний к кнопке.
    Ответ написан
    Комментировать