Кнопка Android с фоном и эффектом пульсации

У меня есть андроидная кнопка, где я хочу дать ей цвет фона и эффект пульсации

Мой рябь xml такой, как показано ниже.

<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#BDA0CB" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#BDA0CB" /> </shape> </item> </ripple> 

И моя кнопка

  <Button android:id="@+id/Button_activity_login_ViewProfile" style="?android:textAppearanceSmall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="Save" android:textStyle="bold" android:layout_marginLeft="@dimen/margin_left" android:layout_marginRight="@dimen/margin_right" android:textColor="#ffffffff" android:fontFamily="sans-serif" android:background="#ff7e51c2" /> 

Чтобы дать эффект пульсации, мне нужно удалить цвет фона … Есть ли способ, которым я могу сохранить оба.

    Этого можно достичь, добавив android: drawable в ваш ripple.xml.

    Сначала добавьте это в свой color.xml. Предположим, что # ff7e51c2 – цвет фона, который вы хотите для своей кнопки.

     ... <color name="btn_bg_color">#ff7e51c2</color> .... 

    Затем создайте выделение для фона кнопки (/drawable/btn_bg.xml):

     <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="2dp" /> <solid android:color="@color/btn_bg_color" /> </shape> 

    Затем используйте drawable в вашем файле ripple.xml:

     <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item android:drawable="@drawable/btn_bg"/> </ripple> 

    Вы можете сделать что-то подобное в xml :

     <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ripple"/> 

    Измените свой ripple.xml в папке ripple.xml drawable/ folder следующим образом:

     <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item android:id="@android:id/mask"> <shape android:shape="oval"> <solid android:color="?android:colorAccent" /> </shape> </item> 

    Дополнительная информация: Нажмите здесь для подробной информации

    Создайте ripple_effect.xml в своей папке

     <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#1182bc" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#1182bc" /> </shape> </item> </ripple> 

    Используйте этот xml в качестве фона вашего представления, как показано ниже.

     android:background="@drawable/ripple_effect" 

    Надеюсь, это поможет ..

    Intereting Posts
    Причина лишней разницы в 8dp в представлении? Не способы решения Эквалайзер для Android с помощью AudioTrack? Как изменить цвет RatingBar в зависимости от количества звезд? Почему debounce () с toList () не работает в RxAndroid? Внедрение SIP на платформе Android 2.1 Ddms: «adb.exe, start-server» не удалось – запустите вручную, если необходимо, Android Studio Устанавливать векторный Drawable в ImageView вызывает сбой приложения в старом SDK Как добавить дату в базу данных sqlite Обнаружение физического нажатия клавиши меню на Android Проблема при создании события календаря с использованием zxing Как я могу запросить виброзвонок? Изменить цвет ScrollBar / FastScroll ListViewView? Изменение порта по умолчанию (т.е. 5037), на котором запускается сервер adb Экземпляр фрагмента сохраняется, но дочерний фрагмент не повторно прикреплен Аккаунт Admob приостановлен из-за «недействительной активности объявлений AdSense, размещенных на вашем веб-сайте»