作者:京江晚报经济民生部 | 来源:互联网 | 2023-09-18 12:25
Navigation##Navigation:列表组件用法:导依赖添加头布局:headerlayout:“头布局文件”添加列表:新建Menu文件设置title;设置icon;这些放
Navigation
##Navigation:列表组件
用法:导依赖
添加头布局:headerlayout:“头布局文件”
添加列表:新建Menu文件
设置title;
设置icon;
这些放在group里面
布局中添加列表:Menu=“列表文件”
Activity中:
getHeaderView(布局id)/findbyid();获得头文件的控件
setNavigationLinstener():列表布局的监听
布局文件:
// An highlighted block
android:id="@+id/main_drawer"
android:layout_
android:layout_>
android:id="@+id/main_navi"
android:layout_
android:layout_
android:layout_gravity="left"
app:menu="@menu/navimenu"
app:headerLayout="@layout/headerview"
>
android:layout_
android:layout_>
android:id="@+id/main_list"
android:layout_
android:layout_>
Menu文件
// An highlighted block
Activity代码
// An highlighted block
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar=findViewById(R.id.main_tool);
drawerLayout=findViewById(R.id.main_drawer);
navigatiOnView=findViewById(R.id.main_navig);
setSupportActionBar(toolbar);//让他来替换actionbar
//给导航按钮添加点击事件
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"你点击了导航按钮",Toast.LENGTH_SHORT).show();
}
});
//绑定Toolbar和drawerLayout
ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.open,R.string.close);
toggle.syncState();
drawerLayout.addDrawerListener(toggle);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id){
case R.id.menu1:
Toast.makeText(MainActivity.this,"你点击了菜单一",Toast.LENGTH_SHORT).show();
break;
case R.id.menu1_1:
Toast.makeText(MainActivity.this,"你点击了子菜单一",Toast.LENGTH_SHORT).show();
if(drawerLayout.isDrawerOpen(Gravity.LEFT)){
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
drawerLayout.openDrawer(Gravity.LEFT);
}
break;
case R.id.menu1_2:
Toast.makeText(MainActivity.this,"你点击了子菜单二",Toast.LENGTH_SHORT).show();
if(drawerLayout.isDrawerOpen(Gravity.LEFT)){
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
drawerLayout.openDrawer(Gravity.LEFT);
}
break;
case R.id.menu1_3:
if(drawerLayout.isDrawerOpen(Gravity.LEFT)){
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
drawerLayout.openDrawer(Gravity.LEFT);
}
Toast.makeText(MainActivity.this,"你点击了子菜单三",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}