لن تتم معالجة أية مشكلات أو طلبات السحب. يرجى النظر في تفرع نسختك الخاصة إذا كانت هناك حاجة إلى تغييرات.
غلاف تأثير Ripple لطرق عرض Android
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، هناك طريقة للقيام بذلك.
يمكنك استخدام هذه المكتبة بالإضافة إلى المنفذ الخلفي للرسوم المتحركة الخاص بـ Jake Wharton (http://nineoldandroids.com/) لتغيير الواردات من import android.animation.*;
إلى: import com.nineoldandroids.animation.*;
, import android.util.Property
; import com.nineoldandroids.util.Property;
وفي ملف MaterialRippleLayout.java، يتم استدعاء الدالة shouldDelayChildPressedState()
فقط إذا كنت تستخدم واجهة برمجة التطبيقات أكبر من 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.