Android studio有关侧滑的实现代码

时间:2021-05-21

最近写课设,因为是新手,实现起来比较麻烦。所以写下此笔记,免得我以后忘记了。

附图片:

//主页面的布局
activity_main.xml:

<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:qpp="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="207dp" android:layout_height="match_parent" android:layout_gravity="left" android:fitsSystemWindows="true" qpp:headerLayout="@layout/stumenu1" qpp:menu="@menu/stumenu1" /></android.support.v4.widget.DrawerLayout>

头部的布局(放入layout)
stumenu1.xml:

<?xml version="1.0" encoding="utf-8"?><!--学生左滑后界面--><android.support.constraint.ConstraintLayout 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"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <ImageView android:id="@+id/person" android:layout_width="72dp" android:layout_height="72dp" android:layout_marginTop="75dp" android:src="@drawable/student" /> <TextView android:id="@+id/stutv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginTop="20dp" android:textColor="#282525" android:text="测试APP"/> </LinearLayout></android.support.constraint.ConstraintLayout>

菜单的布局:(放在menu文件夹)
stumenu1

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <group android:checkableBehavior="single"> <item android:id="@+id/result" android:icon="@drawable/ic_launcher_background" android:checkable="true" android:title=" 测试结果"/> <item android:id="@+id/w1" android:icon="@drawable/ic_launcher_background" android:title=" 错题"/> <item android:id="@+id/s1" android:icon="@drawable/ic_launcher_background" android:title=" 得分"/> <item android:id="@+id/exit" android:icon="@drawable/ic_launcher_background" android:title=" 退出"/> </group></menu>

MainActivity.java:

package com.example.cholewu.slide;import android.content.Intent;import android.support.annotation.NonNull;import android.support.design.widget.NavigationView;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //左滑菜单 initView(); } private void initView() { //实现左右滑动 final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); //菜单控件 final NavigationView nv = findViewById(R.id.nav_view); nv.setItemIconTintList(null); nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.exit: //跳转到退出页面 Toast.makeText(MainActivity.this,"你已退出登录!",Toast.LENGTH_SHORT).show(); Intent intent=new Intent(); intent.setClass(MainActivity.this,Exit.class); startActivity(intent); item.setChecked(true); break; } item.setCheckable(true);//设置可选项 item.setChecked(true);//设置被选中 drawer.closeDrawers();//关闭菜单栏 return true; } }); }}

(注意:如果直接复制代码的话,android.support.design.widget.NavigationView可能会出错,需要自己在design那里布局,如果出错,可以看看以下NavigationView右边是否有下载图案,点击下载就行了)

总结

到此这篇关于Android studio有关侧滑的实现的文章就介绍到这了,更多相关Android studio有关侧滑的实现内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章