Periksa proyek ini di dribbble.
Periksa proyek ini di Behance.
Tuhan memberkati Ukraina!
bergantung pada kegunaan animasi Ozodrukh untuk animasi CircularReveal untuk versi 2.3+
Pertama-tama Anda harus mengunggah submodul animasi dengan perintah git submodule update --init
Atau Anda dapat menambahkan ketergantungan gradle dengan perintah:
dependencies {
implementation ' com.github.yalantis:Side-Menu.Android:1.0.2 '
}
.
dan perintah:
repositories {
maven {
url " https://jitpack.io "
}
}
dependencies {
implementation ' com.github.ozodrukh:CircularReveal:(latest-release)@aar '
}
Untuk menambahkan ketergantungan gradle, Anda perlu membuka build.gradle (di folder aplikasi Anda, bukan di folder proyek) lalu salin dan tambahkan dependensi di sana di blok dependensi;
untuk modul CircularReveal
Setelah itu Anda harus membuat tata letak overlay khusus untuk ditampilkan di belakang tampilan animasi Circular Reveal
saat ini. Dan untuk menambahkan semua item ke menu Anda harus menambahkan semuanya ke dalam 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 ();
}
Semua item menu harus mengimplementasikan antarmuka Resourceble
untuk mendapatkan nama item menu dan resolusi yang dapat digambar. Dan semua fragmen harus mengimplementasikan ScreenShotable
untuk mendapatkan tangkapan layar dari sebuah fragmen
Anda dapat menyesuaikan ikon yang Anda tempatkan di menu, atau menambahkan item lainnya. Cukup dengan mengubah daftar yang Anda parsing menjadi tampilan animator. Misalnya:
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 );
Kami akan sangat senang jika Anda mengirimi kami tautan ke proyek tempat Anda menggunakan komponen kami. Cukup kirim email ke [email protected] Dan beri tahu kami jika Anda memiliki pertanyaan atau saran mengenai animasi tersebut.
PS Kami akan menerbitkan lebih banyak kehebatan yang dibungkus dalam kode dan tutorial tentang cara membuat UI untuk Android (iOS) lebih baik daripada lebih baik. Pantau terus!
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.