Drawerlayout

mydrawerlayout.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.v4.widget.DrawerLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     android:id="@+id/id_drawer_layout"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent" >
 7
 8     <!-- The main content view -->
 9
10     <FrameLayout
11         android:id="@+id/id_content_frame"
12         android:layout_width="match_parent"
13         android:layout_height="match_parent" >
14     </FrameLayout>
15
16     <!-- the navigation view  -->
17
18     <ListView
19         android:id="@+id/id_left_drawer"
20         android:layout_width="240dp"
21         android:layout_height="match_parent"
22         android:layout_gravity="start"
23         android:background="#ffffcc"
24         android:choiceMode="singleChoice"
25         android:dividerHeight="0dp" >
26     </ListView>
27
28 </android.support.v4.widget.DrawerLayout>

ContentFragment.java

 1 package com.example.suneyaenews;
 2
 3 import android.app.Fragment;
 4 import android.os.Bundle;
 5 import android.view.LayoutInflater;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 import android.widget.TextView;
 9
10 public class ContentFragment extends Fragment {
11     private TextView tv;
12
13     @Override
14     public View onCreateView(LayoutInflater inflater, ViewGroup container,
15             Bundle savedInstanceState) {
16         View view = inflater.inflate(R.layout.fragment_content, container,
17                 false);
18         tv = (TextView) view.findViewById(R.id.id_tv_fraglayout);
19         String text = getArguments().getString("text");
20         tv.setText(text);
21         // return tv;//会报错,报 The specified child already has a parent. You must
22         // call removeView() on the child‘s parent first.
23         return view;// 这样就不会报错
24     }
25 }
 1 package com.example.suneyaenews;
 2
 3 import java.util.ArrayList;
 4
 5 import android.app.Activity;
 6 import android.app.Fragment;
 7 import android.app.FragmentManager;
 8 import android.os.Bundle;
 9 import android.support.v4.widget.DrawerLayout;
10 import android.view.View;
11 import android.widget.AdapterView;
12 import android.widget.ArrayAdapter;
13 import android.widget.FrameLayout;
14 import android.widget.ListView;
15 import android.widget.AdapterView.OnItemClickListener;
16
17 public class DrawerActivity extends Activity{
18     private ListView lv_drawer;
19     private FrameLayout frame_drawer;
20     private DrawerLayout mDrawerlayout;
21     private ArrayList<String> mMenulist;
22     private ArrayAdapter<String> adapter ;
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         // TODO Auto-generated method stub
26         super.onCreate(savedInstanceState);
27         // android.support.v4.widget.DrawerLayout 布局
28         setContentView(R.layout.mydrawerlayout);
29         mDrawerlayout = (DrawerLayout) findViewById(R.id.id_drawer_layout);
30         lv_drawer = (ListView) findViewById(R.id.id_left_drawer);
31         mMenulist = new ArrayList<String>();
32         for (int i = 0; i < 6; i++) {
33             mMenulist.add("listview" + i);
34         }
35         adapter = new ArrayAdapter<String>(this,
36                 android.R.layout.simple_list_item_1, mMenulist);
37         lv_drawer.setAdapter(adapter);
38         lv_drawer.setOnItemClickListener(new OnItemClickListener() {
39
40             @Override
41             public void onItemClick(AdapterView<?> parent, View view,
42                     int position, long id) {
43                 // TODO Auto-generated method stub
44                 //动态插入一个fragment到framelayout
45                 System.out.println("........111111111111");
46                 Fragment contentFrament = new ContentFragment();
47                 Bundle bundle = new Bundle();
48                 bundle.putString("text", mMenulist.get(position));
49                 contentFrament.setArguments(bundle);
50                 System.out.println("........2222222222222");
51                 FragmentManager fm = getFragmentManager();
52                 fm.beginTransaction().replace(R.id.id_content_frame,contentFrament).commit();
53                 mDrawerlayout.closeDrawer(lv_drawer);//关闭listview
54                 System.out.println("........33333333333333");
55             }
56         });
57     }
58 }
时间: 2024-10-13 15:45:46

Drawerlayout的相关文章

360手机助手(二):侧拉栏drawerLayout+Tab+Viewpager+ListView+Pulltorefresh+imageloder

整个项目的框架在ContentPager,要熟悉这个类. 简介 完成侧拉栏的显示,侧拉首页对应的:首页+应用+游戏这3个 tab,包含的知识点有:请求数据 +pullTofresh + ImageLoader +轮播图 + listView 效果图: 侧拉栏的实现 V4包中的DrawerLayout实现侧拉效果,每个侧拉的item对应一个fragment,点击该item时,先把所有的fragment隐藏 + 文字设置未选中,然后才创建对应的fragment并显示 怎么实现侧拉栏的显示与隐藏? 点

android官方侧滑菜单DrawerLayout详解

drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物.drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现). drawerLayout的使用很方便,使用drawerLayout的要点如下: 1.drawerLayout其实是

android 应用架构随笔五(ActionBar与侧滑菜单DrawerLayout)

ActionBar(V7)的添加非常简单,只需要在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类就可以了,在Android 3.0及更高的版本中,Activity中都默认包含有ActionBar组件. drawerLayout(V4)是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物.drawer

安卓Design包之NavigationView结合DrawerLayout,toolbar的使用,FloatingActionButton

FloatingActionButton 悬浮按钮:FloatingActionButton是重写ImageView的,所有FloatingActionButton拥有ImageView的一切属性. app:backgroundTint - 设置FAB的背景颜色. app:rippleColor - 设置FAB点击时的背景颜色. app:borderWidth - 该属性尤为重要,如果不设置0dp,那么在4.1的sdk上FAB会显示为正方形,而且在5.0以后的sdk没有阴影效果.所以设置为bor

【转】android官方侧滑菜单DrawerLayout详解

原文网址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0925/1713.html drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物.drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着

DrawerLayout的openDrawer()和closeDrawer()方法

如下代码 DrawerLayout mdrawerLayout; Button btn; -----------------------------------------------------------------------------------------------------------------------以上为声明组件,为简便其余过程省略 btn.setOnClickListener(new OnClickListener(){ mdrawerLayout.openDraw

DrawerLayout使用

布局: 1 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:id="@+id/drawer_layout" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent&qu

用DrawerLayout(Support Library 4提供)开发侧边栏,有没有什么方法关闭手势控制?

============问题描述============ 用android.support.v4.widget.DrawerLayout开发了一个抽屉效果的侧边栏,有没有什么方法可以关闭它的手势操作(就是从左往右划),找遍了它提供的方法,还是没找到. ============解决方案1============ mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

Android ToolBar自定义图标,关联DrawerLayout

Android5.0出现了一个可以代替ActionBar的控件ToolBar,使用更加灵活,一般我们使用ToolBar来和DrawerLayout配合使用,官方提供了一个开关类ActionBarDrawerToggle,来实现ToolBar和DrawerLayout的关联,但是 有时根据我们的需求需要更改左侧的图标,不在需要系统默认的三条杠的图标同时点击图标还想要DrawerLayout的侧拉页面出来,下面讲解两种不同的方式 一:通过代码来实现改变ToolBar的图标 public class

DrawerLayout,ToolBar 和 TabHost 的使用

ActionBar 定义起来不方便 toolbar: 最重要的特性,显示menu菜单,右上角三个点的菜单按钮,使用灵活 使用:1,布局文件,包裹LinearLayout 放imageView, 或者ImageButton 2,去除标题栏Action(清单文件中设置主题Theme.AppCompat.NoTitle) 3,setActionBar( toolbar ); Activity extends AppCompatActivity 4,创建menu文件夹下面的menu.xml文件 <?xm