使用DraweLayout实现史上最简洁的侧滑菜单
根据官网Demo修改,简化,8行代码,一目了然(官网代码过于繁琐,初学者不便于理解)。
图片示例
主代码
package com.example.my_drawerlayout;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// 按钮按下,将抽屉打开
mDrawerLayout.openDrawer(Gravity.RIGHT);
}
});
}
}
布局代码
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="open" />
</FrameLayout>
<!-- The navigation drawer -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="#111"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
说明
一目了然,简洁明了,listview的内容大家可以自己加载,别忘了给listview增加点击事件更新fragment
注意!!!
本例子是右侧滑的代码,如果读者希望实现左侧滑,一定要实现下面这两处修改:
1.主代码的mDrawerLayout.openDrawer(Gravity.RIGHT);的RIGHT修改为LEFT。
2.布局中ListView的android:layout_gravity=”end” end改为start
就是这么easy!
说明
源码下载地址:http://download.youkuaiyun.com/detail/wan778899/8999511
本人刚毕业做安卓,有不足之处请大神指点