ตรวจสอบโปรเจ็กต์นี้บน dribbble
Check this project on Behance.
ขอพระเจ้าอวยพรยูเครน!
ขึ้นอยู่กับยูทิลิตี้แอนิเมชั่นของ Ozodrukh สำหรับแอนิเมชั่น CircularReveal สำหรับเวอร์ชัน 2.3+
ก่อนอื่นคุณต้องอัปโหลดโมดูลย่อยของแอนิเมชั่นด้วยคำสั่ง git submodule update --init
หรือคุณสามารถเพิ่มการพึ่งพา gradle ด้วยคำสั่ง:
dependencies {
implementation ' com.github.yalantis:Side-Menu.Android:1.0.2 '
}
-
และคำสั่ง:
repositories {
maven {
url " https://jitpack.io "
}
}
dependencies {
implementation ' com.github.ozodrukh:CircularReveal:(latest-release)@aar '
}
ในการเพิ่มการพึ่งพา gradle คุณต้องเปิด build.gradle (ในโฟลเดอร์แอพของคุณ ไม่ใช่ในโฟลเดอร์โปรเจ็กต์) จากนั้นคัดลอกและเพิ่มการอ้างอิงที่นั่นในบล็อกการอ้างอิง
สำหรับโมดูล CircularReveal
หลังจากที่คุณต้องสร้างเค้าโครงซ้อนทับพิเศษเพื่อแสดงในมุมมองภาพเคลื่อนไหว Circular Reveal
ปัจจุบัน และหากต้องการเพิ่มรายการทั้งหมดลงในเมนู คุณต้องเพิ่มรายการทั้งหมดลงใน LinearLayout
< android .support.v4.widget.DrawerLayout
xmlns : android = " http://schemas.android.com/apk/res/android "
android : id = " @+id/drawer_layout "
android : layout_width = " match_parent "
android : layout_height = " match_parent " >
< io .codetail.widget.RevealFrameLayout
android : id = " @+id/conteiner_frame "
xmlns : android = " http://schemas.android.com/apk/res/android "
android : layout_width = " match_parent "
android : layout_height = " match_parent " >
< LinearLayout
android : id = " @+id/content_overlay "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : orientation = " vertical " />
< LinearLayout
android : id = " @+id/content_frame "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : orientation = " vertical " />
< android .support.v7.widget.Toolbar
android : id = " @+id/toolbar "
android : layout_height = " wrap_content "
android : layout_width = " match_parent "
android : minHeight = " ?attr/actionBarSize "
android : background = " ?attr/colorPrimary " />
</ io .codetail.widget.RevealFrameLayout>
< ScrollView
android : id = " @+id/scrollView "
android : scrollbarThumbVertical = " @android:color/transparent "
android : layout_width = " 80dp "
android : layout_height = " match_parent "
android : layout_gravity = " start|bottom " >
< LinearLayout
android : id = " @+id/left_drawer "
android : orientation = " vertical "
android : layout_width = " 80dp "
android : layout_height = " wrap_content "
android : divider = " @android:color/transparent "
android : dividerHeight = " 0dp "
android : background = " @android:color/transparent " >
<!-- Layout of Drawer -->
</ LinearLayout >
</ ScrollView >
</ android .support.v4.widget.DrawerLayout>
ViewAnimator viewAnimator = new ViewAnimator <>( ActionBarActivity . this ,
new ArrayList < Resourceble >(),
( LinearLayout ) findViewById ( R . id . left_drawer ),
contentFragment , drawerLayout );
//to open menu you have to override ActionBarDrawerToggle method
@ Override
public void onDrawerSlide ( View drawerView , float slideOffset ) {
super . onDrawerSlide ( drawerView , slideOffset );
if ( slideOffset > 0.6 && viewAnimator . getLinearLayout (). getChildCount () == 0 )
viewAnimator . showMenuContent ();
}
public void onDrawerClosed ( View view ) {
super . onDrawerClosed ( view );
viewAnimator . getLinearLayout (). removeAllViews ();
viewAnimator . getLinearLayout (). invalidate ();
}
รายการเมนูทั้งหมดควรใช้อินเทอร์เฟซ Resourceble
เพื่อรับชื่อรายการเมนูและความละเอียดที่วาดได้ และแฟรกเมนต์ทั้งหมดควรใช้ ScreenShotable
เพื่อรับภาพหน้าจอของแฟรกเมนต์
คุณสามารถปรับแต่งไอคอนที่คุณวางไว้ในเมนูหรือเพิ่มรายการหมอได้ เพียงเปลี่ยนรายการที่คุณแยกวิเคราะห์เพื่อดูแอนิเมเตอร์ ตัวอย่างเช่น:
private List < SlideMenuItem > list = new ArrayList <>(); \ the list of menu items
SlideMenuItem menuItem0 = new SlideMenuItem ( ContentFragment . CLOSE , R . drawable . icn_close );
list . add ( menuItem0 );
SlideMenuItem menuItem = new SlideMenuItem ( ContentFragment . BUILDING , R . drawable . icn_1 ); f irst parameter is the id of menu item , the second is the icon resouce
list . add ( menuItem );
SlideMenuItem menuItem2 = new SlideMenuItem ( ContentFragment . BOOK , R . drawable . icn_2 );
list . add ( menuItem2 );
viewAnimator = new ViewAnimator <>( this , list , contentFragment , drawerLayout , this );
เรายินดีเป็นอย่างยิ่งหากคุณส่งลิงก์ไปยังโครงการของคุณที่คุณใช้ส่วนประกอบของเรา เพียงส่งอีเมลไปที่ [email protected] และแจ้งให้เราทราบหากคุณมีคำถามหรือข้อเสนอแนะเกี่ยวกับแอนิเมชั่น
ป.ล. เราจะเผยแพร่ความเจ๋งเพิ่มเติมที่รวมอยู่ในโค้ดและบทช่วยสอนเกี่ยวกับวิธีทำให้ UI สำหรับ Android (iOS) ดีกว่าดีกว่า คอยติดตาม!
Copyright 2019, Yalantis
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.