Confira este projeto no drible.
Confira este projeto no Behance.
Deus abençoe a Ucrânia!
depende do utilitário de animação de Ozodrukh para animação CircularReveal para versão 2.3+
Primeiro de tudo, você deve fazer upload do submódulo de animação com o comando git submodule update --init
Ou você pode adicionar dependência gradle com o comando:
dependencies {
implementation ' com.github.yalantis:Side-Menu.Android:1.0.2 '
}
.
e comando:
repositories {
maven {
url " https://jitpack.io "
}
}
dependencies {
implementation ' com.github.ozodrukh:CircularReveal:(latest-release)@aar '
}
Para adicionar dependência gradle, você precisa abrir build.gradle (na pasta do aplicativo, não na pasta do projeto) e copiar e adicionar as dependências no bloco de dependências;
para módulo CircularReveal
Depois você terá que criar um layout de sobreposição especial para mostrar atrás da visualização animada Circular Reveal
atual. E para adicionar todos os itens ao menu você deve adicionar todos eles no 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 ();
}
Todos os itens de menu devem implementar a interface Resourceble
para obter o nome do item de menu e a resolução drawable E todos os fragmentos devem implementar ScreenShotable
para obter a captura de tela de um fragmento
Você pode personalizar os ícones que coloca no menu ou adicionar mais itens. Simplesmente alterando a lista que você analisa para visualizar o animador. Por exemplo:
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 );
Ficaríamos muito felizes se você nos enviasse links para seus projetos onde você usa nosso componente. Basta enviar um e-mail para [email protected] e nos avisar se tiver alguma dúvida ou sugestão em relação à animação.
PS: Vamos publicar mais maravilhas embrulhadas em código e um tutorial sobre como tornar a UI para Android (iOS) melhor do que melhor. Fique atento!
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.