MySlideMenu.rar

  • T9_195992
    了解作者
  • 2.6MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-26 01:05
    上传日期
android的SlideMenue的用法。可以滑动。
MySlideMenu.rar
内容介绍
package com.slide.menu; import java.util.ArrayList; import com.slide.util.SlideMenuUtil; import android.app.Activity; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; /** * Android实现导航菜单左右滑动效果 * @Description: Android实现导航菜单左右滑动效果 * @FileName: SlideMenuActivity.java * @Package com.slide.menu * @Author Hanyonglu * @Date 2012-4-20 上午09:15:11 * @Version V1.0 */ public class SlideMenuActivity extends Activity { /** Called when the activity is first created. */ private String[][] menus = {{SlideMenuUtil.ITEM_MOBILE,SlideMenuUtil.ITEM_WEB, SlideMenuUtil.ITEM_CLOUD,SlideMenuUtil.ITEM_DATABASE}, {SlideMenuUtil.ITEM_EMBED,SlideMenuUtil.ITEM_SERVER, SlideMenuUtil.ITEM_DOTNET,SlideMenuUtil.ITEM_JAVA}, {SlideMenuUtil.ITEM_SAFE,SlideMenuUtil.ITEM_DOMAIN, SlideMenuUtil.ITEM_RESEASRCH,SlideMenuUtil.ITEM_MANAGE}}; // 当前ViewPager索引 private int pagerIndex = 0; private ArrayList<View> menuViews = null; private ViewGroup main = null; private ViewPager viewPager = null; // 左右导航图片按钮 private ImageView imagePrevious = null; private ImageView imageNext = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置无标题窗口 requestWindowFeature(Window.FEATURE_NO_TITLE); //取得窗口属性 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); //窗口的宽度 int screenWidth = dm.widthPixels; LayoutInflater inflater = getLayoutInflater(); menuViews = new ArrayList<View>(); SlideMenuLayout menu = new SlideMenuLayout(this); for(int i = 0;i < menus.length;i++){ menuViews.add(menu.getSlideMenuLinerLayout(menus[i],screenWidth)); } main = (ViewGroup)inflater.inflate(R.layout.main, null); setContentView(main); // 左右导航图片按钮 imagePrevious = (ImageView)findViewById(R.id.ivPreviousButton); imageNext = (ImageView) findViewById(R.id.ivNextButton); imagePrevious.setOnClickListener(new ImagePreviousOnclickListener()); imageNext.setOnClickListener(new ImageNextOnclickListener()); if(menuViews.size() > 1){ imageNext.setVisibility(View.VISIBLE); } //菜单背景 // imageMenuBack = (ImageView)findViewById(R.id.ivMenuBackground); // imageMenuBack.setVisibility(View.INVISIBLE); // 加载移动菜单下内容 ViewGroup llc = (ViewGroup)findViewById(R.id.linearLayoutContent); llc.addView(inflater.inflate(R.layout.item_mobile, null)); viewPager = (ViewPager)main.findViewById(R.id.slideMenu); viewPager.setAdapter(new SlideMenuAdapter()); viewPager.setOnPageChangeListener(new SlideMenuChangeListener()); } // 滑动菜单数据适配器 class SlideMenuAdapter extends PagerAdapter { @Override public int getCount() { // View v = menuViews.get(0).findViewWithTag(SlideMenuUtil.ITEM_MOBILE); // v.setBackgroundResource(R.drawable.menu_bg); return menuViews.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getItemPosition(Object object) { // TODO Auto-generated method stub return super.getItemPosition(object); } @Override public void destroyItem(View arg0, int arg1, Object arg2) { // TODO Auto-generated method stub ((ViewPager) arg0).removeView(menuViews.get(arg1)); } @Override public Object instantiateItem(View arg0, int arg1) { // TODO Auto-generated method stub ((ViewPager) arg0).addView(menuViews.get(arg1)); return menuViews.get(arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { // TODO Auto-generated method stub } @Override public Parcelable saveState() { // TODO Auto-generated method stub return null; } @Override public void startUpdate(View arg0) { // TODO Auto-generated method stub } @Override public void finishUpdate(View arg0) { // TODO Auto-generated method stub } } // 滑动菜单更改事件监听器 class SlideMenuChangeListener implements OnPageChangeListener { @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { int pageCount = menuViews.size() - 1; pagerIndex = arg0; // 显示右边导航图片 if(arg0 >= 0 && arg0 < pageCount){ imageNext.setVisibility(View.VISIBLE); }else{ imageNext.setVisibility(View.INVISIBLE); } // 显示左边导航图片 if(arg0 > 0 && arg0 <= pageCount){ imagePrevious.setVisibility(View.VISIBLE); }else{ imagePrevious.setVisibility(View.INVISIBLE); } } } // 右导航图片按钮事件 class ImageNextOnclickListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub pagerIndex ++; viewPager.setCurrentItem(pagerIndex); } } // 左导航图片按钮事件 class ImagePreviousOnclickListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub pagerIndex --; viewPager.setCurrentItem(pagerIndex); } } }
评论
    相关推荐
    • Beginning Android
      本人收集的android的英文电子书(pdf)目录: 全部在本人资料中能下载 Android.Application.Development.pdf Android Essentials.pdf Android programmer's guide Beginning Android-Apress.pdf pro-android.pdf ...
    • Android GPS
      Android 简单的GPS Test 简单的不能再简单 lm requestLocationUpdates LocationManager GPS PROVIDER 1000 1 locationListener ;
    • 基于Android的拼图游戏,IDEAndroidStudio,可以使用手机相册图片
      (1)图块移动功能;(2)各项游戏功能与处理:游戏界面有新游戏,菜单,静音,帮助图标等等,通过触摸完成各项功能。触摸新游戏可以打乱图片,开始游戏;触摸菜单可以选择图片和游戏难度,选择难易程度的图片切割;...
    • android Droidex
      Droidex可以将开发者附加的Android设备的屏幕内容复制到你的开发设备屏幕上,通常,如果你使用DroidEx来进行演示可谓是事半功倍,因为你可以直接将一台Android设备与笔记本或投影相连,而客户也可以通过这些设备来...
    • Android播放器
      Android自定义全屏VideoView,仿主流视频客户端,左右滑屏快退快进;上下滑屏,手指在左半屏时,调整亮度;上下滑屏,手指在右半屏时,调整音量;横竖屏无缝自动切换。
    • Android APK IDE
      APK改之理(APK IDE)是一款可视化的、易用的、快捷的、一体化的安卓APK修改工具,集成了ApkTool、Dex2jar、JD-GUI等Apk修改工具,集Apk反编译、Apk查壳、加密解密、Apk调试分析、Apk打包、Apk签名,支持语法高亮的...
    • android service demo
      android开发中sercie的简单事例 package com.example.servicedemoactivity; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class ...
    • AndroidAuto
      android auto开发官方的文档,确认以下这些对你有用再下载: SDK Contents The SDK is distributed as Android Pre-Release Software pursuant to the Android Automotive Pre-Release Software License Agreement. ...
    • Android_Studio IDE 使用配置
      Android_Studio IDE 使用配置 包含有市面上常用配置4份,个人配置1份 并且提供文档说明,可自行扩展。
    • AndroidProject
      AndroidProject Learning Android Programming and Android Projects SimpleCalc/ 下为实现的基于Activity跳转和进行数据交换与通信的简单计算器app。 是为《智能手机编程》 智能手机编程课程组 编写 中央广播电视...