界面很简单
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:orientation="vertical">
<ListView
android:id="@+id/menu_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#ffffff"
android:dividerHeight="5dp">
</ListView>
</LinearLayout>
<LinearLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical">
<TextView
android:id="@+id/content_text"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="25sp"
android:text="hello"/>
</LinearLayout>
</LinearLayout>
具体代码实现
public class MainActivity extends Activity implements OnTouchListener,
OnItemClickListener {
/**
* 滚动显示和隐藏menu时,手指滑动需要达到的速度。
*/
public static final int SNAP_VELOCITY = 200;
/**
* 屏幕宽度值。
*/
private int screenWidth;
/**
* menu最多可以滑动到的左边缘。值由menu布局的宽度来定,marginLeft到达此值之后,不能再减少。
*/
private int leftEdge;
/**
* menu最多可以滑动到的右边缘。值恒为0,即marginLeft到达0之后,不能增加。
*/
private int rightEdge = 0;
/**
* menu完全显示时,留给content的宽度值。
*/
private int menuPadding = 250;
/**
* 主内容的布局。
*/
private View content;
/**