ما عليك سوى تنزيل الحزمة من هنا وإضافتها إلى مسار فئة المشروع الخاص بك، أو فقط استخدم maven repo:
غرادل:
' com.ramotion.foldingcell:folding-cell:1.2.3 '
سبت:
libraryDependencies += " com.ramotion.foldingcell " % " folding-cell " % " 1.2.3 "
مخضرم:
< dependency >
< groupId >com.ramotion.foldingcell</ groupId >
< artifactId >folding-cell</ artifactId >
< version >1.2.3</ version >
</ dependency >
com.ramotion.foldingcell.FoldingCell
إلى تخطيطك < com .ramotion.foldingcell.FoldingCell
xmlns : android = " http://schemas.android.com/apk/res/android "
android : id = " @+id/folding_cell "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
</ com .ramotion.foldingcell.FoldingCell>
2. أضف عنصرين فرعيين بالضبط إلى خليتك. يمثل الطفل الأول ( عرض المحتوى ) دائمًا تخطيط الحالة غير المطوي ويمثل الطفل الثاني ( عرض العنوان ) تخطيط الحالة المطوي. بالطبع، يمكن أن تحتوي هذه التخطيطات على أي عدد من العناصر الفرعية ويمكن أن تكون بأي تعقيد، ولكن لكي تعمل بشكل صحيح، هناك بعض القيود: يجب أن يكون ارتفاع عرض المحتوى أكبر مرتين على الأقل من ارتفاع عرض العنوان ، وارتفاع كل من يجب ضبط هذه التخطيطات على android:layout_height="wrap_content"
. إذا كنت تريد تعيين الارتفاع الدقيق في dp
، فيمكنك تعيين الارتفاع للعناصر الفرعية في التخطيط الخاص بك داخل عرض المحتوى أو عرض العنوان . تحتاج أيضًا إلى إخفاء تخطيط عرض المحتوى الخاص بك باستخدام android:visibility="gone"
.
< com .ramotion.foldingcell.FoldingCell
xmlns : android = " http://schemas.android.com/apk/res/android "
android : id = " @+id/folding_cell "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< FrameLayout
android : id = " @+id/cell_content_view "
android : layout_width = " match_parent "
android : layout_height = " wrap_content "
android : background = " @android:color/holo_green_dark "
android : visibility = " gone " >
< TextView
android : layout_width = " match_parent "
android : layout_height = " 250dp " />
</ FrameLayout >
< FrameLayout
android : id = " @+id/cell_title_view "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< TextView
android : layout_width = " match_parent "
android : layout_height = " 100dp "
android : background = " @android:color/holo_blue_dark " />
</ FrameLayout >
</ com .ramotion.foldingcell.FoldingCell>
3. لقد أوشكت على الانتهاء! تبقى خطوتين! للحصول على الرسوم المتحركة الصحيحة، تحتاج إلى إعداد خاصيتين على العنصر (العناصر) الجذرية للخلية القابلة للطي:
android:clipChildren="false"
android:clipToPadding="false"
4. الخطوة الأخيرة! أضف onClickListener إلى الخلية القابلة للطي في MainActivity.java
لتبديل الرسوم المتحركة:
@ Override
protected void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
// get our folding cell
final FoldingCell fc = ( FoldingCell ) findViewById ( R . id . folding_cell );
// attach click listener to folding cell
fc . setOnClickListener ( new View . OnClickListener () {
@ Override
public void onClick ( View v ) {
fc . toggle ( false );
}
});
}
5. خطوة إضافية - تخصيص إعدادات الخلية. في الوقت الحالي، هناك ثلاث معلمات رئيسية - وقت الرسوم المتحركة، ولون الجانب الخلفي، وعدد التقلبات الإضافية. إذا لم يكن الأولان يثيران الأسئلة، فإن الثالث يتطلب بعض التوضيح. هو عدد التقلبات التي سيتم تنفيذها بعد الوجه الأول (الرئيسي). القيمة الافتراضية هي 0
(اختيار تلقائي). هناك أيضًا معلمة رابعة إضافية - ارتفاع الكاميرا، وهي تتحكم في مستوى (عمق) التأثير ثلاثي الأبعاد. هناك طريقتان لتغيير إعدادات الخلية: من ملف تخطيط xml مع مساحة الاسم res-auto
xmlns:folding-cell="http://schemas.android.com/apk/res-auto"
:
folding-cell:animationDuration="1000"
folding-cell:backSideColor="@color/bgBackSideColor"
folding-cell:additionalFlipsCount="2"
folding-cell:cameraHeight="30"
أو من الكود:
// get our folding cell
final FoldingCell fc = ( FoldingCell ) findViewById ( R . id . folding_cell );
// set custom parameters
fc . initialize ( 1000 , Color . DKGRAY , 2 );
// or with camera height parameter
fc . initialize ( 30 , 1000 , Color . DKGRAY , 2 );
يمكنك العثور على هذا وأمثلة أخرى أكثر تعقيدًا في هذا المستودع
يتم إصدار Folding Cell بموجب ترخيص MIT. راجع الترخيص للحصول على التفاصيل.
تعد هذه المكتبة جزءًا من مجموعة مختارة من أفضل مشاريعنا مفتوحة المصدر لواجهة المستخدم
إذا كنت تستخدم المكتبة مفتوحة المصدر في مشروعك، فيرجى التأكد من الاعتماد والارتباط الخلفي بموقع www.ramotion.com
جرب مكون واجهة المستخدم هذا والمزيد مثل هذا في تطبيق Android الخاص بنا. اتصل بنا إذا كانت مهتمة.