DrawerLayout与Fragment的联用

1.xml代码

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/fragment_layout"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/menu_layout"

android:layout_width="300dp"

android:layout_height="match_parent"

android:layout_gravity="left"

android:background="#ff333333">

android:id="@+id/menu_listView"

android:layout_width="match_parent"

android:layout_height="match_parent" >

2.MainActivity继承FragmentActivity

import android.os.Bundle;

import android.app.Activity;

import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentActivity;

import android.support.v4.app.FragmentTransaction;

import android.support.v4.widget.DrawerLayout;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.RelativeLayout;

import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends FragmentActivity

{

/*

* DrawerLayout与Fragment的联用

* DrawerLayout相关:

* 1.一般内容层使用framelayout

* 2.slidingLayout需要设置一个layout_grative属性

* 文档建议使用android:layout_gravity="start"

*/

public static final String[] TITLES =

{ "Henry IV (1)", "Henry V", "Henry VIII", "Richard II", "Richard III", "Merchant of Venice", "Othello", "King Lear" };

private DrawerLayout mDrawer_layout;

private RelativeLayout mMenu_layout;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mDrawer_layout = (DrawerLayout) findViewById(R.id.drawer_layout);

mMenu_layout = (RelativeLayout) findViewById(R.id.menu_layout);

ListView menu_listview = (ListView) mMenu_layout.findViewById(R.id.menu_listView);

menu_listview.setAdapter(new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, TITLES));

//监听菜单

menu_listview.setOnItemClickListener(new DrawerItemClickListener());

}

public class DrawerItemClickListener implements OnItemClickListener

{

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id)

{

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

Fragment fragment = null;

//根据item点击行号判断启用哪个Fragment

switch (position)

{

case 0:

fragment = new FirstFragment();

break;

case 1:

fragment = new NextFragment();

break;

default:

break;

}

ft.replace(R.id.fragment_layout, fragment);

ft.commit();

mDrawer_layout.closeDrawer(mMenu_layout);//点击后关闭mMenu_layout

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu)

{

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

3.Fragment类

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class FirstFragment extends Fragment

{

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

{

View layout = inflater.inflate(R.layout.firstlayout, null);

return layout;

}

}

public class NextFragment extends Fragment

{

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

{

View layout = inflater.inflate(R.layout.nextlayout, null);

return layout;

}

}

android侧滑菜单ui,Android:UI控件DrawerLayout、Fragment、SlidingLayout侧滑菜单相关推荐

  1. android侧滑布局,Android布局控件DrawerLayout实现完美侧滑效果

    drawerLayout其实是一个布局控件,跟LinearLayout等控件是一样的,但是drawerLayout带有滑动的功能.只要按照drawerLayout的规定布局方式写完布局,就能有侧滑的效 ...

  2. android实现左拉菜单,Android原生侧滑控件DrawerLayout使用方法详解

    在android的v4包中有一个控件 Drawerlayout,主要实现了左拉和右拉菜单,类似于之前的"抽屉"功能,此控件使用简单,效果很柔和,操作起来体验非常好,下面是我实现的一 ...

  3. Android:Socket客户端开发,Android 的Socket客户端优化,Android非UI线程修改控件程序崩溃的问题

    一.Android:Socket客户端开发 创建一个工程 我们要做的是按下按键之后,去往服务器 (服务器) 或者我们自己写的服务器 ,给他发送一些预定好的东西 然后打开操作界面 然后修改一下 你要发送 ...

  4. Android开发技巧——自定义控件之组合控件

    Android开发技巧--自定义控件之组合控件 我准备在接下来一段时间,写一系列有关Android自定义控件的博客,包括如何进行各种自定义,并分享一下我所知道的其中的技巧,注意点等. 还是那句老话,尽 ...

  5. android tv nugat,GitHub - GongXunYoung/Android-tv-widget: Android tv,盒子,投影仪 控件

    Android TV 开发框架 QQ群:522186932 Leanback 框架(类似谷歌的Leanback,更简直,更方便): 键盘框架: 菜单框架: 整体目录结构 *AndroidTvWidet ...

  6. vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用

    vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用 参考文章: (1)vue的$nextTi ...

  7. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇-UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) 1 #import <Foundation/Foundation.h&g ...

  8. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇-UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  9. WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)

    原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...

  10. android 带清除功能的输入框控件

    今天,看到一个很好的自定义输入框控件,于是记录一下. 效果很好: 一,自定义一个类,名为ClearEditText package com.example.clearedittext;import a ...

最新文章

  1. 19.使用Matlab计算各种距离
  2. 在arm板卡上做一个简单的关机脚本
  3. 计算机开机启动流程详解
  4. 今晚直播 | PostgreSQL基于非易失性内存优化探索
  5. [转]Vue生态系统中的库
  6. Visio使用遇到的问题
  7. 633.平方数之和(力扣leetcode) 博主可答疑该问题
  8. TiledMap简单使用
  9. HTB靶机:RainyDay
  10. echarts pie 饼图 border宽度
  11. html打印自定义页头,CSS实现打印网页自定义页眉页脚
  12. 一度智信|关于拼多多店铺数据分析细节
  13. 云原生周报 | K8s 官方推出纪录片;BFE 2021开源总结;服务网格在联通的落地实践
  14. 备战全国电子设计大赛-TB6612FNG电机驱动模块
  15. uni-app 动态添加style 动态绑定背景图片无效
  16. python类和封装之面向对象反恐精英实战
  17. ubuntu下查看opencv安装路径以及版本号
  18. 利用Xutils框架进行断点续传下载
  19. 一个家庭幸不幸福,80%以上取决于女主人
  20. CSDN PC端网站及其部分功能产品体验的一点分析

热门文章

  1. 关于Tomcat的部署
  2. 进程(Process)和线程(Thread)的区别
  3. 运行 sudo 时会发生什么?
  4. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
  5. numpy的科学计算(亲测)
  6. Android2D绘图二
  7. 惠而浦扫地机器人充不进电_【今日关注】惠而浦扫地机器人怎么样?体验2个月之肺腑之言? | 智能扫地机器人评测...
  8. [专栏精选]Unity动画系统的RootMotion
  9. python自动化框架pytest接口关联串联_python(pytest)+allure+jenkins 实现接口自动化的思路...
  10. c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...