抽屉侧滑菜单是Android中比较常用的导航菜单
下面就让我们来具体实现
1.首先是布局文件
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/queryinfoLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F1F1F1"
android:layout_margin="5dp"
android:orientation="vertical">
<!--主界面-->
</LinearLayout>
<LinearLayout
android:id="@+id/menu_frame"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#FFFFFF"
android:orientation="vertical">
<!-- 菜单项 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="@drawable/on_line"
>
<ImageView
android:layout_width="0dp"
android:layout_height="20dp"
android:src="@drawable/sdate"
android:layout_gravity="center"
android:layout_weight="1"
android:layout_marginLeft="10dp"
/>
<TextView
android:textColor="@color/gray6262"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:textSize="18sp"
android:layout_gravity="center"
android:text="日期"/>
<TextView
android:id="@+id/tSdate"
android:textColor="@color/gray6262"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="9"
android:textSize="18sp"
android:layout_gravity="center"
android:text="2023-01-01"/>
</LinearLayout>
</LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>
Activity代码
DrawerLayout drawerLayout;
drawerLayout = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawerLayout, toolbar, R.string.open, R.string.close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
//监听返回按钮,如果抽屉是打开的就关闭,否则返回
@Override
public void onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
这个功能实现起来还是相对简单的,你们学会了吗?