DrawerLayout是v4包下的一个侧滑菜单控件
包:android.support.v4.widget.DrawerLayout或者
androidx.drawerlayout.widget.DrawerLayout第一个view(内容区域)的宽高应当设置为match_parent
第二、三个view(侧滑菜单)需要设置android:layout_gravity=“left”(左侧滑菜单)和android:layout_gravity=“right”(右侧滑菜单),且高度一般为match_parent,宽度自行设置
代码展示
- xml文件
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity2">
<!--第一个view作为内容显示区-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="首页"/>
</LinearLayout>
<!--第二个view会作为侧滑菜单-->
<LinearLayout
android:layout_width="180dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffff">
<ListView
android:id="@+id/list_view"
android:layout_width="180dp"
android:layout_height="match_parent"/>
</LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>
- Activity活动类
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
ListView listView = (ListView) findViewById(R.id.list_view);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
new String[]{"菜单1","菜单2","菜单3"});
listView.setAdapter(adapter);
}
}
运行结果