仿人人客户端向右滑出式菜单
人人客户端向右滑出式菜单:
试着实现了一个,先上效果图:
下面简单说明一下实现原理:
有两个activity,MainActivity和SettingActivity,实现这个效果两个步骤:
1、点击MainActivity左上角的按钮,MainActivity先切换到SettingActivity,获得MainActivity的布局快照,即一张代表其布局的bitmap
2、SettingActivity采用绝对布局,最上面先是覆盖了一张透明的imageView,接着将这个imageview填充上上一步的布局快照,然后通过位移动画移动这张imageView,给人的感觉就好像是前一个activity在移动。
待改进:加入手势控制。
希望大家提出更好的实现方法。
上代码:有注释
MainActivity.java
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" > <FrameLayout android:id="@+id/slideout_placeholder" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#777777" > <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000" /> </FrameLayout> <ImageView android:id="@+id/slidedout_cover" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="fitXY" /></AbsoluteLayout>