SlidingMenu-Fragment
来源:互联网 发布:nginx 域名指向目录 编辑:程序博客网 时间:2024/05/01 03:22
SlidingMenu是可以侧滑的第三方控件:
在添加了第三方函数库之后,并不难实现上图的功能:
//设置左滑边框setBehindContentView(R.layout.left_menu);//得到slidingmenuSlidingMenu slidingmenu = getSlidingMenu();//设置全屏触摸slidingmenu.setTouchModeAbove(slidingmenu.TOUCHMODE_FULLSCREEN);//设置底面屏幕剩余偏移量slidingmenu.setBehindOffset(100);//设置右滑屏slidingmenu.setSecondaryMenu(R.layout.right_menu);//使能左右滑屏slidingmenu.setMode(SlidingMenu.LEFT_RIGHT);
1 声明一个Fragment父类:
package com.example.zhihuibj.fragment;import android.app.Activity;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public abstract class BaseFragment extends Fragment{public Activity mActivity;//fragment创建@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);mActivity=getActivity();}//处理fragment布局@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {// TODO Auto-generated method stubreturn initViews();}//依赖的Activity创建完成@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);initData();}//子类必须实现初始化方法public abstract View initViews();//初始化public void initData(){};}
package com.example.zhihuibj.fragment;import com.example.zhihuibj.R;import android.view.View;/* * 主页面 */public class ContentFragment extends BaseFragment{@Overridepublic View initViews() {View view= View.inflate(mActivity, R.layout.fragment_content_menu, null);return view;}}
package com.example.zhihuibj.fragment;import com.example.zhihuibj.R;import android.view.View;/* * 侧边栏 */public class LeftMenuFragment extends BaseFragment{@Overridepublic View initViews() {View view = View.inflate(mActivity, R.layout.fragment_left_menu, null);return view;}}
2 添加Fragment布局方式:
使用空白的FrameLayout替换左边栏和主菜单的布局
</pre><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lf_menu" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout>
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout>
private void InitFragment(){android.support.v4.app.FragmentManager fm = getSupportFragmentManager();FragmentTransaction transactions = fm.beginTransaction();transactions.replace(R.id.lf_menu,new LeftMenuFragment());transactions.replace(R.id.lf_content, new ContentFragment());transactions.commit();}
整体activity:
package com.example.zhihuibj;import com.example.zhihuibj.fragment.ContentFragment;import com.example.zhihuibj.fragment.LeftMenuFragment;import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;import android.app.Activity;import android.app.FragmentManager;import android.os.Bundle;import android.support.v4.app.FragmentTransaction;/* * 主页面 */public class MainActivity extends SlidingFragmentActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activitymain);//设置左滑边框setBehindContentView(R.layout.left_menu);//得到slidingmenuSlidingMenu slidingmenu = getSlidingMenu();//设置全屏触摸slidingmenu.setTouchModeAbove(slidingmenu.TOUCHMODE_FULLSCREEN);//设置底面屏幕剩余偏移量slidingmenu.setBehindOffset(100);//设置右滑屏slidingmenu.setSecondaryMenu(R.layout.right_menu);//使能左右滑屏slidingmenu.setMode(SlidingMenu.LEFT_RIGHT);InitFragment();}/* * 初始化fragment,将fragment填充给布局文件 */private void InitFragment(){android.support.v4.app.FragmentManager fm = getSupportFragmentManager();FragmentTransaction transactions = fm.beginTransaction();transactions.replace(R.id.lf_menu,new LeftMenuFragment());transactions.replace(R.id.lf_content, new ContentFragment());transactions.commit();}}
0 0
- SlidingMenu-Fragment
- SlidingMenu+ActionBar+Fragment实现
- SlidingMenu+Fragment组合
- SlidingMenu+viewpager+fragment实例
- SlidingMenu+viewpager+fragment实例
- SlidingMenu和Fragment的总结
- SlidingMenu,Tablayout,ViewPager,Fragment结合
- SlidingMenu+Fragment实现侧滑菜单
- SlidingMenu切换fragment卡顿问题
- Android SlidingMenu Fragment的简单优化
- SlidingMenu切换fragment卡顿问题
- SlidingMenu + Fragment百度地图黑边、黑屏
- viewpager+fragment+slidingmenu滑动卡顿解决方法
- Slidingmenu 结合fragment,和viewpager嵌套fragment遇到的问题;
- SlidingMenu
- SlidingMenu
- SlidingMenu
- SlidingMenu
- LeetCode 21:Merge Two Sorted Lists
- Android应用架构
- Qt中网络编程(网络接口,TCP,UDP)
- SQL注入与防范(PreparedStatement的优点)----JDBC-3
- hw员工培养计划
- SlidingMenu-Fragment
- STL算法库-修改序列式操作(一)
- OI? OI!
- 设计模式中类的关系
- GUI 简单加法计算器模拟 监听事件获取其他域的属性值 窗口关闭的监听事件
- css
- react-native源码分析系列五 绘制js组件
- hibernate中主键的类型笔记
- 十大编程算法助程序员走上高手之路