Etwaige Probleme oder Pull-Anfragen werden nicht behandelt. Bitte denken Sie darüber nach, Ihre eigene Version zu forken, falls Änderungen erforderlich sind.
Ripple-Effekt-Wrapper für Android-Ansichten
compile ' com.balysv:material-ripple:1.0.2 '
Suchen Sie im Widget unten nach der neuesten Versionsnummer oder besuchen Sie „Releases“.
Verwenden Sie einen statischen Initialisierer für Ihre View
(siehe xml
Attribute unten zur Anpassung).
MaterialRippleLayout . on ( view )
. rippleColor ( Color . BLACK )
. create ();
Oder packen Sie Ihre View
mit MaterialRippleLayout
in Ihre Layoutdatei ein:
< 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>
Bei Verwendung in einer AdapterView
müssen Sie rippleInAdapter
auf true
setzen
Konfigurieren Sie mithilfe von XML-Attributen oder Settern im Code:
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
Legen Sie einen OnClickListener
auf MaterialRippleLayout
fest:
findViewById ( R . id . ripple ). setOnClickListener ( new View . OnClickListener () {
@ Override public void onClick ( View v ) {
// handle me
}
});
Oder verwenden Sie bei Verwendung in einer AdapterView
einfach OnItemClickListener
Für die unglücklichen Entwickler, die ältere Versionen als 14 unterstützen müssen, gibt es eine Möglichkeit, dies zu tun.
Sie können diese Bibliothek zusätzlich mit dem Animations-Backport von Jake Wharton (http://nineoldandroids.com/) verwenden, indem Sie die Importe von import android.animation.*;
zu: import com.nineoldandroids.animation.*;
, import android.util.Property
; import com.nineoldandroids.util.Property;
und in der Datei MaterialRippleLayout.java sollte die Funktion shouldDelayChildPressedState()
nur aufgerufen werden, wenn Sie eine API größer als 14 verwenden.
Balys Valentukevicius
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.