Android仿易信界面SlidingMenu左右滑动
2016-01-18 15:43
603 查看
简介
易信是一个操作比较简介的界面。类似的SlidingMenu还有百度影音、快播等等。下面就是一个模仿易信的一个界面,先看一下效果图
项目源代码下载:https://github.com/nuptboyzhb/SlidingMenuDemoYiXin
或者直接git : $ git clone https://github.com/nuptboyzhb/SlidingMenuDemoYiXin.git
首页
左边滑动效果
右边滑动效果
主要代码:
[java] view
plaincopy
package edu.njupt.zhb.slidemenu;
import edu.njupt.zhb.slidemenu.R;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
public class MainActivity extends SlidingFragmentActivity implements OnClickListener{
protected SlidingMenu leftRightSlidingMenu;
private ImageButton ivTitleBtnLeft;
private ImageButton ivTitleBtnRight;
private Fragment mContent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initLeftRightSlidingMenu();
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
ivTitleBtnLeft = (ImageButton)this.findViewById(R.id.ivTitleBtnLeft);
ivTitleBtnLeft.setOnClickListener(this);
ivTitleBtnRight = (ImageButton)this.findViewById(R.id.ivTitleBtnRight);
ivTitleBtnRight.setOnClickListener(this);
}
private void initLeftRightSlidingMenu() {
mContent = new FragmentDefaultMain();
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();
setBehindContentView(R.layout.main_left_layout);
FragmentTransaction leftFragementTransaction = getSupportFragmentManager().beginTransaction();
Fragment leftFrag = new LeftSlidingMenuFragment();
leftFragementTransaction.replace(R.id.main_left_fragment, leftFrag);
leftFragementTransaction.commit();
// customize the SlidingMenu
leftRightSlidingMenu = getSlidingMenu();
leftRightSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);// 设置是左滑还是右滑,还是左右都可以滑,我这里只做了左滑
leftRightSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// 设置菜单宽度
leftRightSlidingMenu.setFadeDegree(0.35f);// 设置淡入淡出的比例
leftRightSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置手势模式
leftRightSlidingMenu.setShadowDrawable(R.drawable.shadow);// 设置左菜单阴影图片
leftRightSlidingMenu.setFadeEnabled(true);// 设置滑动时菜单的是否淡入淡出
leftRightSlidingMenu.setBehindScrollScale(0.333f);// 设置滑动时拖拽效果
leftRightSlidingMenu.setSecondaryMenu(R.layout.main_right_layout);
FragmentTransaction rightFragementTransaction = getSupportFragmentManager().beginTransaction();
Fragment rightFrag = new RightSlidingMenuFragment();
leftFragementTransaction.replace(R.id.main_right_fragment, rightFrag);
rightFragementTransaction.commit();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ivTitleBtnLeft:
leftRightSlidingMenu.showMenu();
break;
case R.id.ivTitleBtnRight:
leftRightSlidingMenu.showSecondaryMenu(true);
break;
default:
break;
}
}
/**
* 左侧菜单点击切换首页的内容
*/
public void switchContent(Fragment fragment) {
mContent = fragment;
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
getSlidingMenu().showContent();
}
}
代码结构
源代码下载:https://github.com/nuptboyzhb/SlidingMenuDemoYiXin
易信是一个操作比较简介的界面。类似的SlidingMenu还有百度影音、快播等等。下面就是一个模仿易信的一个界面,先看一下效果图
项目源代码下载:https://github.com/nuptboyzhb/SlidingMenuDemoYiXin
或者直接git : $ git clone https://github.com/nuptboyzhb/SlidingMenuDemoYiXin.git
首页
左边滑动效果
右边滑动效果
主要代码:
[java] view
plaincopy
package edu.njupt.zhb.slidemenu;
import edu.njupt.zhb.slidemenu.R;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
public class MainActivity extends SlidingFragmentActivity implements OnClickListener{
protected SlidingMenu leftRightSlidingMenu;
private ImageButton ivTitleBtnLeft;
private ImageButton ivTitleBtnRight;
private Fragment mContent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initLeftRightSlidingMenu();
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
ivTitleBtnLeft = (ImageButton)this.findViewById(R.id.ivTitleBtnLeft);
ivTitleBtnLeft.setOnClickListener(this);
ivTitleBtnRight = (ImageButton)this.findViewById(R.id.ivTitleBtnRight);
ivTitleBtnRight.setOnClickListener(this);
}
private void initLeftRightSlidingMenu() {
mContent = new FragmentDefaultMain();
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();
setBehindContentView(R.layout.main_left_layout);
FragmentTransaction leftFragementTransaction = getSupportFragmentManager().beginTransaction();
Fragment leftFrag = new LeftSlidingMenuFragment();
leftFragementTransaction.replace(R.id.main_left_fragment, leftFrag);
leftFragementTransaction.commit();
// customize the SlidingMenu
leftRightSlidingMenu = getSlidingMenu();
leftRightSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);// 设置是左滑还是右滑,还是左右都可以滑,我这里只做了左滑
leftRightSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// 设置菜单宽度
leftRightSlidingMenu.setFadeDegree(0.35f);// 设置淡入淡出的比例
leftRightSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置手势模式
leftRightSlidingMenu.setShadowDrawable(R.drawable.shadow);// 设置左菜单阴影图片
leftRightSlidingMenu.setFadeEnabled(true);// 设置滑动时菜单的是否淡入淡出
leftRightSlidingMenu.setBehindScrollScale(0.333f);// 设置滑动时拖拽效果
leftRightSlidingMenu.setSecondaryMenu(R.layout.main_right_layout);
FragmentTransaction rightFragementTransaction = getSupportFragmentManager().beginTransaction();
Fragment rightFrag = new RightSlidingMenuFragment();
leftFragementTransaction.replace(R.id.main_right_fragment, rightFrag);
rightFragementTransaction.commit();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ivTitleBtnLeft:
leftRightSlidingMenu.showMenu();
break;
case R.id.ivTitleBtnRight:
leftRightSlidingMenu.showSecondaryMenu(true);
break;
default:
break;
}
}
/**
* 左侧菜单点击切换首页的内容
*/
public void switchContent(Fragment fragment) {
mContent = fragment;
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
getSlidingMenu().showContent();
}
}
代码结构
源代码下载:https://github.com/nuptboyzhb/SlidingMenuDemoYiXin
相关文章推荐
- Android SDK开发包国内下载地址
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
- Android系统之路(初识MTK) ------ 默认第一次开机屏幕亮度/日期格式/picture makeer model
- Android布局中的常用属性小结
- Android 自定义View画‘√’
- Android Fragment avoid non-default constructors in fragments use a default constructor plus fragment
- AndroidJNI 通过C/C++调用JAVA
- Android编程开发之EditText中inputType属性小结
- android smooth-line-chart 贝塞尔曲线入门
- android 在activity onCreate时获取控件高宽
- Android实际开发问题05------杀不死的服务
- 在Android6.0上给外置SD卡增加一个路径
- Android获取设备隐私 忽略6.0权限管理
- Android Menu菜单使用
- android开源系列:CircleImageView自定义圆形控件的使用
- android各种提示Dialog 弹出框
- Android 着色器 Tint 研究
- android从应用到驱动之—camera(1)---程序调用流程
- android从应用到驱动之—camera(1)---程序调用流程
- android从应用到驱动之—camera(1)---程序调用流程