Любые проблемы или запросы на включение не будут решены. Пожалуйста, рассмотрите возможность создания собственной версии, если потребуются изменения.
Обертка с эффектом пульсации для Android Views
compile ' com.balysv:material-ripple:1.0.2 '
Проверьте номер последней версии в виджете ниже или посетите раздел «Релизы».
Используйте статический инициализатор в своем View
(для настройки см. атрибуты xml
ниже).
MaterialRippleLayout . on ( view )
. rippleColor ( Color . BLACK )
. create ();
Или оберните View
с помощью MaterialRippleLayout
в файле макета:
< com .balysv.materialripple.MaterialRippleLayout
android : id = " @+id/ripple "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< Button
android : layout_width = " match_parent "
android : layout_height = " wrap_content "
android : layout_gravity = " center "
android : text = " Button inside a ripple " />
</ com .balysv.materialripple.MaterialRippleLayout>
При использовании в AdapterView
вы должны установить для rippleInAdapter
значение true
Настройте использование атрибутов XML или установщиков в коде:
app : mrl_rippleOverlay = "true" // if true, ripple is drawn in foreground; false - background
app : mrl_rippleColor = "#ff0000" // color of ripple
app : mrl_rippleAlpha = "0.1" // alpha of ripple
app : mrl_rippleDimension = "10dp" // radius of hover and starting ripple
app : mrl_rippleHover = "true" // if true, a hover effect is drawn when view is touched
app : mrl_rippleRoundedCorners = "10dp" // radius of corners of ripples. Note: it uses software rendering pipeline for API 17 and below
app : mrl_rippleInAdapter = "true" // if true, MaterialRippleLayout will optimize for use in AdapterViews
app : mrl_rippleDuration = "350" // duration of ripple animation
app : mrl_rippleFadeDuration = "75" // duration of fade out effect on ripple
app : mrl_rippleDelayClick = "true" // if true, delays calls to OnClickListeners until ripple effect ends
app : mrl_rippleBackground = "#FFFFFF" // background under ripple drawable; used with rippleOverlay="false"
app : mrl_ripplePersistent = "true" // if true, ripple background color persists after animation, until setRadius(0) is called
Установите для OnClickListener
MaterialRippleLayout
:
findViewById ( R . id . ripple ). setOnClickListener ( new View . OnClickListener () {
@ Override public void onClick ( View v ) {
// handle me
}
});
Или, если вы используете AdapterView
, просто используйте OnItemClickListener
Для тех неудачливых разработчиков, которым необходимо поддерживать более старые версии, чем 14, есть способ сделать это.
Вы можете использовать эту библиотеку в дополнение к резервному порту анимации Джейка Уортона (http://nineoldandroids.com/), изменив импорт с import android.animation.*;
чтобы: import com.nineoldandroids.animation.*;
, import android.util.Property
; import com.nineoldandroids.util.Property;
а в файле MaterialRippleLayout.java функция вызова shouldDelayChildPressedState()
только в том случае, если вы используете API больше 14.
Балис Валентукявичюс
Copyright 2015 Balys Valentukevicius
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.