android菜单源代码,Side-Menu.Android

效果来自dribbble上的概念设计 project on dribbble.

依赖Ozodrukh的CircularReveal项目中的动画工具库。

ps 作者的文字实在是不好翻译:

首先你需要用git submodule update 将动画模块上传-初始化命令中你必须创建一个显示在当前Circular Reveal animated view后面的overlay。添加到菜单中的item都必须添加到LinearLayout中。

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/conteiner_frame"

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/content_overlay"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"/>

android:id="@+id/content_frame"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"/>

android:id="@+id/toolbar"

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:minHeight="?attr/actionBarSize"

android:background="?attr/colorPrimary"/>

android:id="@+id/scrollView"

android:scrollbarThumbVertical="@android:color/transparent"

android:layout_width="80dp"

android:layout_height="match_parent"

android:layout_gravity="start|bottom">

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">

ViewAnimator viewAnimator = new ViewAnimator<>(ActionBarActivity.this,

new ArrayList(),

(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();

}

为了得到menu item的名称和drawable资源,所有的item都必须实现Resourceble 接口。为了得到fragment的截图,所有的fragment都必须实现ScreenShotable接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值