Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android DrawerLayout实现侧拉菜单功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

效果

Android DrawerLayout实现侧拉菜单功能

Android DrawerLayout实现侧拉菜单功能

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://scheR_546_11845@as.android.com/apk/res/android" 
  xmlns:tools="http://scheR_546_11845@as.android.com/tools" 
  xmlns:app="http://scheR_546_11845@as.android.com/apk/res-auto" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  tools:context="com.example.lenovo.mydrawerlayout.MainActivity"> 
<android.support.v4.widget.DrawerLayout 
  android:layout_width="match_parent" 
  android:id="@+id/drawer_layout" 
  android:layout_height="match_parent"> 
  <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    > 
    <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:BACkground="?attr/colorPriMary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 
    <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="这是主界面" 
      /> 
  </LinearLayout> 
  <LinearLayout 
    android:layout_width="300dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="left" 
    android:BACkground="#f00" 
    > 
    <TextView 
      android:id="@+id/t" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="这是侧拉界面" 
      /> 
  </LinearLayout> 
</android.support.v4.widget.DrawerLayout> 
</LinearLayout> 

注:DrawerLayout下有两个布局,DrawerLayout的第一个子元素是主要内容,即抽屉没有打开时显示的布局,DrawerLayout的第二个子元素是抽屉中的内容,即抽屉布局,layout_gravity为侧拉方向

因为用到Toolbar所以要把ActionBar替换了所以设置

values下设置styles.xml    为NoActionBar

<@R_489_5550@es> 
   <!-- Base application theme. --> 
  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPriMary">@color/colorPriMary</item> 
    <item name="colorPriMaryDark">@color/colorPriMaryDark</item> 
    <item name="colOraccent">@color/colOraccent</item> 
  </style> 
  <style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNotitle">true</item> 
  </style> 
  <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 
  <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 
</@R_489_5550@es> 

@H_451_1@mainActivity

package com.example.lenovo.mydrawerlayout; 
 import android.os.bundle; 
import android.support.design.widget.Snackbar; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.TextView; 
public class MainActivity extends AppCompatActivity { 
  @Override 
  protected void onCreate(Bundle savedInstanceStatE) { 
    super.onCreate(savedInstanceStatE); 
    setContentView(R.layout.activity_main); 
    //Toolbar代替ActionBar 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    // DrawerLayout 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    //Toolbar上面最左边显示三杠图标监听DrawerLayout 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( 
        this,drawer,toolbar,R.String.navigation_drawer_open,R.String.navigation_drawer_closE); 
    drawer.setDrawerListener(togglE); 
    toggle.syncState(); 
    //侧拉@L_801_6@字体 
    TextView t= (TextView) findViewById(R.id.t); 
    t.setOnClickListener(new View.onClickListener() { 
      @Override 
      public void onClick(View v) { 
        Snackbar.make(v,"侧拉@L_801_6@",Snackbar.LENGTH_LONG) 
            .setAction("Action",null).show(); 
      } 
    }); 
  } 
  @Override 
  public void onBACkPressed() { 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    if (drawer.isDrawerOpen(GravityCompat.START)) { 
      drawer.closeDrawer(GravityCompat.START); 
    } else { 
      super.onBACkPressed(); 
    } 
  } 
} 

大佬总结

以上是大佬教程为你收集整理的Android DrawerLayout实现侧拉菜单功能全部内容,希望文章能够帮你解决Android DrawerLayout实现侧拉菜单功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。