标签:draw sel enabled 直接 滑动 .sh gets res raw
在main.xml中使用DrawerLayout,它允许在布局中放入两个直接子控件,第一个是主屏幕显示内容,第二个是滑动屏幕显示内容
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/draw_lay" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v7.widget.Toolbar android:id="@+id/toolBar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:text="滑动界面" android:textSize="30sp" android:background="#FFF"/><1--layout_gravity必须设置,可为left、right、start设置滑动方向--> </android.support.v4.widget.DrawerLayout>
此时滑动菜单就可以显示了,但有时用户不知道滑动菜单的存在,所以我们在标题栏中在加入一个图标以供用户点击
MainActivity中的代码
package com.example.materialtest; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar=(Toolbar)findViewById(R.id.toolBar); setSupportActionBar(toolbar); mDrawer=(DrawerLayout)findViewById(R.id.draw_lay);//获取滑动菜单实例 ActionBar actionBar=getSupportActionBar();//获取ToolBar实例 if(actionBar!=null){ actionBar.setDisplayHomeAsUpEnabled(true);//显示导航按钮 actionBar.setHomeAsUpIndicator(R.drawable.f);//此时导航按钮是后退键,我们把它换掉 } } public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.toolbar,menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home://该按钮WieHomeAsUp按钮,名称不可变 mDrawer.openDrawer(GravityCompat.START);//点击时滑出滑动菜单 break; case R.id.item1: Toast.makeText(this,"你点击了第一个按钮",Toast.LENGTH_SHORT).show(); break; case R.id.item2: Toast.makeText(this,"你点击了第二个按钮",Toast.LENGTH_SHORT).show(); break; case R.id.item3: Toast.makeText(this,"你点击了第三个按钮",Toast.LENGTH_SHORT).show(); break; } return true; } }
标签:draw sel enabled 直接 滑动 .sh gets res raw
原文地址:https://www.cnblogs.com/837634902why/p/10566038.html