SlidingMenu左右侧划的实现
2016-06-26 13:19
344 查看
***运用SlidingMenu实现左右侧划的效果***
*******************************dimens.xml**********************************************
******************************MainActivity********************************
****************************然后写两个Fragment********************************
********************************Fragment one****************************
***************************************Fragment two***************************************
*************************************布局文件***************************************
*************************main布局********************************
**********************content布局****************************
********************************menu_frame布局*****************************
****************************************menu_frame_right布局**************************************
******************************************right_fragment布局*******************************************************
*******************************************fragment布局****************************************
***************************************************OK********************************************
*******************************dimens.xml**********************************************
<dimen name="slidingmenu_offset">180dp</dimen> <dimen name="list_padding">10dp</dimen> <dimen name="shadow_width">5dp</dimen>
******************************MainActivity********************************
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity; import android.os.Bundle; import android.app.Activity; import android.support.v4.app.Fragment; import android.view.Menu; import android.view.Window; public class MainActivity extends SlidingFragmentActivity { private SlidingMenu slidingMenu; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); // 内容页布局 setContentView(R.layout.content); // 设置侧拉条目布局 setBehindContentView(R.layout.menu_frame); // 获取侧拉栏目对象 slidingMenu = getSlidingMenu(); /* * SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效 SlidingMenu.TOUCHMODE_MARGIN * 拖拽边缘有效 SlidingMenu.TOUCHMODE_NONE 不响应触摸事件 */ slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); // 设置内容显示页对应的dp大小 slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset); // //设置左侧侧拉栏目宽度 // slidingMenu.setBehindWidth(140); // 设置侧拉栏目所在位置 /* * SlidingMenu.LEFT SlidingMenu.LEFT_RIGHT SlidingMenu.RIGHT */ slidingMenu.setMode(SlidingMenu.LEFT_RIGHT); // 给侧拉栏目和左侧内容页区分开(加线) // slidingMenu.setShadowDrawable(R.drawable.shadow); // 设置线的宽度 slidingMenu.setShadowWidthRes(R.dimen.shadow_width); // fragment去替换布局中节点 MenuFragment menuFragment = new MenuFragment(); // FragmentManager管理者 getSupportFragmentManager() // 开启事物 .beginTransaction() // 通过fragment去替换对应布局 .replace(R.id.menu, menuFragment, "MENU") // 提交事物 .commit(); slidingMenu.setSecondaryMenu(R.layout.menu_frame_right); // 设置右侧分割线的图片 // slidingMenu.setSecondaryShadowDrawable(R.drawable.shadow); RightMenuFragment rightMenuFragment = new RightMenuFragment(); // FragmentManager管理者 getSupportFragmentManager() // 开启事物 .beginTransaction() // 通过fragment去替换对应布局 .replace(R.id.menu_right, rightMenuFragment, "MENU_RIGHT") // 提交事物 .commit(); } // 当前类中做替换当前显示内容界面的操作 public void switchFragment(Fragment fragment) { if (fragment != null) { getSupportFragmentManager().beginTransaction() .replace(R.id.content_frame, fragment, "HOME").commit(); // 缩回(点击弹出左侧侧拉栏目) slidingMenu.toggle(); } } }
****************************然后写两个Fragment********************************
********************************Fragment one****************************
import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; public class MenuFragment extends Fragment { private ListView listView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment, container, false); listView = (ListView) view.findViewById(R.id.listivew); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ArrayList<String> strList = new ArrayList<String>(); for (int i = 0; i < 20; i++) { strList.add("第" + i + "个条目"); } // 设置数据适配器 listView.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, strList)); } }
***************************************Fragment two***************************************
import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; public class RightMenuFragment extends Fragment { private ListView listView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment, container, false); listView = (ListView) view.findViewById(R.id.listivew); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ArrayList<String> strList = new ArrayList<String>(); for (int i = 0; i < 20; i++) { strList.add("第" + i + "个条目"); } // 设置数据适配器 listView.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, strList)); } }
*************************************布局文件***************************************
*************************main布局********************************
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > </LinearLayout>
**********************content布局****************************
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout>
********************************menu_frame布局*****************************
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu" android:layout_width="match_parent" android:background="#ff0000" android:layout_height="match_parent" > </FrameLayout>
****************************************menu_frame_right布局**************************************
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu_right" android:layout_width="match_parent" android:background="#00ff00" android:layout_height="match_parent" > </FrameLayout>
******************************************right_fragment布局*******************************************************
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listivew" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout>
*******************************************fragment布局****************************************
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listivew" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout>
***************************************************OK********************************************
相关文章推荐
- 怎么区分有符号数和无符号数
- 四层负载均衡和七层负载均衡的区别
- GCD多线程开发
- Ubuntu 14.04 安装 Sublime Text 3
- python 内置容器
- js总结
- hdu-4118 Holiday's Accommodation(树形dp+树的重心)
- iOS应用程序内购/内付费(一)
- Java读取Level-1行情dbf文件极致优化(3)
- LeetCode之13_Integer to Roman
- navicat显示中文为问号
- navicat显示中文为问号
- jquery
- 在 CentOS7 之部署 Redis3
- 数据结构——c语言描述 第三章 (2)栈的练习(四则运算的实现)
- uid,gid,euid,geid,简单记录
- 67. Add Binary
- 程序执行过程理解
- Java读取Level-1行情dbf文件极致优化(2)
- Pinyin4j - utils