Я пытаюсь добавить анимацию пульсации при нажатии кнопки. Я сделал, как показано ниже, но это требует minSdKVersion до 21.
ripple.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item>
<shape android:shape="rectangle">
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
кнопка
<com.devspark.robototextview.widget.RobotoButton
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ripple"
android:text="@string/login_button" />
Я хочу сделать его обратно совместимым с библиотекой дизайна.
Как это можно сделать?
android
material-design
Н Шарма
источник
источник
?attr:
вместо?android:attr
ссылок библиотеку поддержки v7, которая, если вы используете ее, обеспечивает обратную совместимость с API 7. См. Developer.android.com/tools/support-library/features. html # v7Ранее я голосовал за то, чтобы закрыть этот вопрос как не по теме, но на самом деле я передумал, поскольку это довольно приятный визуальный эффект, который, к сожалению, еще не является частью библиотеки поддержки. Скорее всего, он появится в будущем обновлении, но сроки пока не объявлены.
К счастью, уже есть несколько пользовательских реализаций:
включая тематические наборы виджетов, совместимые со старыми версиями Android:
так что вы можете попробовать один из них или Google для других "виджетов материала" или около того ...
источник
Я сделал простой класс, который делает кнопки пульсации, в конце концов он мне никогда не был нужен, поэтому он не самый лучший, но вот он:
РЕДАКТИРОВАТЬ
Так как многие люди ищут что-то подобное, я создал класс, который может заставить другие представления иметь волновой эффект:
источник
addRippleToView
добавления эффекта ряби. Скорее всего, чтобы каждый вид вRecyclerView
аRippleViewCreator
Иногда у вас есть собственный фон, в этом случае лучше использовать
android:foreground="?selectableItemBackground"
источник
Это очень просто ;-)
Сначала вы должны создать два нарисованных файла: один для старой версии API, а другой для самой новой версии. Конечно! Если вы создаете файл для рисования для новейшей версии API, Android Studio предлагает автоматически создать старый файл. и, наконец, установите его в фоновом режиме.
Образец drawable для новой версии API (res / drawable-v21 / ripple.xml):
Пример drawable для старой версии API (res / drawable / ripple.xml)
Для получения дополнительной информации о рисовании пульсации просто посетите это: https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html
источник
иногда можно использовать эту строку на любом макете или компонентах.
Как.
источник