Android快速SDK(17)左右滑动菜单SlidingMenu【傻瓜模式】
来源:互联网 发布:软件开发视频大讲堂 编辑:程序博客网 时间:2024/05/16 17:55
代码:http://download.csdn.net/detail/huangbin95487710/9260337
依赖包模式
完整运行还需要用到以下依赖包
- Android快速SDK(22)友盟升级统计库UmengUpdate【肌肉记忆,分钟接入】
- Android快速SDK(2)View库QuickView
- Android快速SDK(4)对话框AlertDialog
基于github中SlidingMenu库升级封装成傻瓜模式
- 新特性配置支持
- 配置滑动方式
- 配置左右视图%比
- 配置背景颜色,透明度,渐变颜色
- 配置滑动速度
- 配置退出模式
- 默认样式
<!-- 默认样式 --> <style name="DivSlidingMenu"> <item name="mode">left_right</item> <!-- 左视图的宽度百分比或千分比 --> <item name="leftWidth">70</item> <!-- 右边视图的宽度百分比或千分比 --> <item name="rightWidth">50</item> <!-- 滑出视图方式 --> <item name="touchModeAbove">none</item> <!-- 主视图方式 --> <item name="touchModeBehind">margin</item> <!-- 阴影的图片 --> <item name="shadowDrawable">@drawable/sliding_shadow</item> <!-- 右边阴影的图片 --> <item name="shadowRightDrawable">@android:color/transparent</item> <!-- 阴影宽度 --> <item name="shadowWidth">15dp</item> <!-- 渐变开启 --> <item name="fadeEnabled">true</item> <!-- 渐变深度 --> <item name="fadeDegree">0.35</item> <!-- 背景颜色 --> <item name="slidingbackground">@color/sliding_menu_frame_color</item> <!-- 返回按键退出 --> <item name="keyback_quit">true</item> <!-- 滑动速度 --> <item name="duration">400</item> <!-- false 平均页面,true 覆盖页面 --> <item name="enableslide">false</item> </style>- 示例代码
- 布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="15dip" > <Button android:id="@+id/btn_default" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="默认样式" /> <Button android:id="@+id/index" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="下标选中" /> <Button android:id="@+id/div" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="自定义样式" /> <Button android:id="@+id/left" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="只有左边菜单" /> <Button android:id="@+id/btn_null" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="没有左右菜单" /> <Button android:id="@+id/right" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="15dip" android:text="只有右边菜单" /></LinearLayout>- 代码
- 启动入口SlidingAllActivity.java
package cn.whonow.whonow.sliding;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import cn.whonow.whonow.R;/** * sliding菜单全集 * * @author HuangYi QQ:95487710 */public class SlidingAllActivity extends Activity {private Context mContext;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_sliding);this.mContext = this;Button button1 = (Button) findViewById(R.id.btn_default);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 默认样式SlidingActivity.startSliding(mContext, SlidingActivity.class);}});Button button2 = (Button) findViewById(R.id.index);button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 下标选中SlidingActivity.startSliding(mContext, SlidingActivity.class, 2);}});Button button3 = (Button) findViewById(R.id.div);button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 自定义样式SlidingActivity.startSliding(mContext, SlidingActivity.class,0, R.style.MyDivSlidingMenu);}});Button button4 = (Button) findViewById(R.id.left);button4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 只有左边菜单SlidingActivity.startSliding(mContext, SlidingLeftActivity.class);}});Button button5 = (Button) findViewById(R.id.btn_null);button5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 没有左右菜单SlidingActivity.startSliding(mContext, SlidingNullActivity.class);}});Button button6 = (Button) findViewById(R.id.right);button6.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 只有右菜单SlidingActivity.startSliding(mContext, SlidingRightActivity.class);}});}}- 主视图SlidingActivity.java
package cn.whonow.whonow.sliding;import General.Listener.NavListener;import General.View.SlidingMenu.Act.FragmentBase;import General.View.SlidingMenu.Act.SlidingFragment;import General.View.SlidingMenu.Listener.SlidingTitleListener;import android.app.LocalActivityManager;import android.support.v4.app.Fragment;import cn.whonow.whonow.R;public class SlidingActivity extends SlidingFragment {private InviteFragment mInviteFragment;@Overridepublic FragmentBase getContentFragment(SlidingFragment context,LocalActivityManager lam) {// TODO Auto-generated method stubif (mInviteFragment == null)mInviteFragment = new InviteFragment();return mInviteFragment;}@Overridepublic Fragment getLeftFragment(SlidingFragment context) {// TODO Auto-generated method stubreturn new LeftFragment(this);}@Overridepublic Fragment getRightFragment(SlidingFragment context) {// TODO Auto-generated method stubreturn new RightFragment(this);}public class InviteFragment extends FragmentBase {public InviteFragment() {super();}/** * 传入界面值 */@Overridepublic void initFuntion() {super.setLayoutId(R.layout.test_tabpager_triangle);// super.setNavId(FunctionButton.INDEX_INVITE);// super.setTitleId(R.string.app_name);super.setPagerDefault(mDefaultIndex);}/** * 数字初始化 */public void initValue() {if (mFragmentItemList.size() > 0)return;TabPagerItem mPagerItem1 = new TabPagerItem("测试1");TabPagerItem mPagerItem2 = new TabPagerItem("测试2");TabPagerItem mPagerItem3 = new TabPagerItem("测试3");mFragmentItemList.add(mPagerItem1);//mFragmentItemList.add(mPagerItem2);//mFragmentItemList.add(mPagerItem3);//TabPagerItem mPagerItem4 = new TabPagerItem("测试4");//TabPagerItem mPagerItem5 = new TabPagerItem("测试5");//mFragmentItemList.add(mPagerItem4);//mFragmentItemList.add(mPagerItem5);}@Overridepublic NavListener getNavListener() {// TODO Auto-generated method stubreturn null;}@Overridepublic SlidingTitleListener getSlidingTitleListener() {// TODO Auto-generated method stubreturn null;}@Overridepublic boolean isCheckLog() {// TODO Auto-generated method stubreturn true;}}@Overridepublic boolean isCheckUpdate() {// TODO Auto-generated method stubreturn false;}@Overridepublic Class<?> getActName() {// TODO Auto-generated method stubreturn SlidingActivity.class;}@Overridepublic boolean isCheckLog() {// TODO Auto-generated method stubreturn false;}}- 左边视图
package cn.whonow.whonow.sliding;import General.System.MyLog;import General.Umeng.Update.UmengFragmentPager;import General.View.SlidingMenu.Act.SlidingFragment;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import cn.whonow.whonow.R;public class LeftFragment extends UmengFragmentPager {public View mView;public SlidingFragment context;public LeftFragment(SlidingFragment context) {this.context = context;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {if (null == mView) {mView = inflater.inflate(R.layout.test_tabpager_item, container,false);mView.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMyLog.show(context, "onClick");}});}return mView;}public void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic String getPagerName() {// TODO Auto-generated method stubreturn null;}@Overridepublic boolean isCheckLog() {// TODO Auto-generated method stubreturn false;}@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stub}}- 右边视图
package cn.whonow.whonow.sliding;import General.System.MyLog;import General.Umeng.Update.UmengFragmentPager;import General.View.SlidingMenu.Act.SlidingFragment;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import cn.whonow.whonow.R;public class RightFragment extends UmengFragmentPager {public View mView;public SlidingFragment context;public RightFragment(SlidingFragment context) {this.context = context;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {if (null == mView) {mView = inflater.inflate(R.layout.test_tabpager_item, container,false);mView.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMyLog.show(context, "onClick");}});}return mView;}public void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic String getPagerName() {// TODO Auto-generated method stubreturn null;}@Overridepublic boolean isCheckLog() {// TODO Auto-generated method stubreturn false;}@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stub}}- 效果图
1 0
- Android快速SDK(17)左右滑动菜单SlidingMenu【傻瓜模式】
- Android快速SDK(11)圆弧菜单库PathView【傻瓜模式】
- android滑动菜单SlidingMenu
- Android快速SDK(8)毛玻璃效果BlurView【傻瓜模式】
- Android快速SDK(9)下载库DownLoad【傻瓜模式】
- Android快速SDK(10)地址库Location【傻瓜模式】
- Android快速SDK(15)二维码扫描Scanner【傻瓜模式】
- Android快速SDK(16)摇一摇Shake【傻瓜模式】
- Android快速SDK(18)Tab页面TabPager【傻瓜模式】
- 侧滑菜单(slidingMenu左右滑动)
- android slidingmenu滑动菜单(完全版)
- slidingMenu 详解,快速实现左右滑动
- android 滑动菜单SlidingMenu实现
- Android SlidingMenu demo(滑动菜单)
- android 滑动菜单之SlidingMenu
- Android仿易信界面SlidingMenu左右滑动
- Android仿易信界面SlidingMenu左右滑动
- Android快速SDK(7)图像加载库ImageLoader【傻瓜模式】
- HTML文本框录入字母自动大写
- 用户级线程和内核级线程的区别 .
- BloomFilter原理
- gitlab一键安装+内网
- web项目分析(1)
- Android快速SDK(17)左右滑动菜单SlidingMenu【傻瓜模式】
- zoj 2972 Hurdles of 110m
- grep常用
- Ubuntu安装Gtest
- android context类提供的openFileOutput()方法
- Masonry介绍与使用实践:快速上手Autolayout
- GPIO_Mode
- 计算机4大核心课程
- [LeetCode] Palindrome Number