`
Darar
  • 浏览: 87790 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

viewpager主页面响应子页面 onkeydown事件的方法

 
阅读更多
大家在开发中不少地方要用到ViewPager这个类,ViewPager可以承载多个页面,可以是activity也可以是view.
在开发中发现一个问题,ViewPager所在的activity可以响应onkeyDown事件,那么如何传递 给其子页面的activity呢。本人找到了一个方法

首先说说如何加载子页面activity
代码如下:
 mManager = new LocalActivityManager(this, true);
        mManager.dispatchCreate(savedInstanceState);

        views = new ArrayList<View>();
        views.add(getView(MAINHOME,new Intent(this, MainHome.class)));
        views.add(getView(SUBMAINHOME,new Intent(this, SubMainHome.class)));



private View getView(String tag, Intent intent){
       return  mManager.startActivity(tag, intent).getDecorView();

    }



如上述代码,我们使用了LocalActivityManger去启动子页面activity.那么我们的所有子页面activitty就被它管理,同时我们也知道activity的 ID,那么我们可以从它那取出相应的activity.

@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (mViewPager.getCurrentItem()){
            case 0:
               return mManager.getActivity(MAINHOME).onKeyDown(keyCode, event);
            case 1:
               return mManager.getActivity(SUBMAINHOME).onKeyDown(keyCode, event);
        }
		return mManager.getActivity(MAINHOME).onKeyDown(keyCode, event);
	}


这样就可以把父页面的按键件事,往子页面传,让子页面去处理相应事件。这样就不用在父页面写if else大量代码。代码结构也清晰
分享到:
评论

相关推荐

    Viewpager+Gridview响应点击事件

    通过合理地重写`ViewPager`的`onInterceptTouchEvent()`方法,以及在`GridView`的`Adapter`中设置点击监听器,我们可以实现`GridView`的点击事件响应。同时,根据具体需求,你可能还需要考虑滑动和点击之间的交互...

    viewpager 关于子页面控件监听的解决方法

    在实际应用中,我们常常需要对ViewPager的子页面中的控件进行监听,以便实现各种交互功能。本篇文章将详细讲解如何在ViewPager中实现子页面控件的监听。 首先,我们要理解ViewPager的工作原理。ViewPager通过...

    利用fragment+ViewPager实现主界面布局

    3. **设置ViewPager**:在主Activity中,初始化ViewPager并设置刚才创建的PagerAdapter,这样ViewPager就知道了如何加载和显示页面。 4. **添加Tab布局(可选)**:如果需要,你可以使用TabLayout与ViewPager配合,...

    viewpager实现页面导航

    `ViewPager`是Android SDK中的一个强大组件,常用于实现滑动页面导航,尤其在实现TabLayout或者滑动切换页面的场景下非常实用。本篇将详细介绍如何利用`ViewPager`实现页面导航,以及如何降低代码耦合性。 首先,`...

    viewpager实现页面切换demo

    我们可以通过`addOnPageChangeListener()`方法监听页面切换事件,以便在切换时执行相应的操作,如更新指示器的状态。 6. **优化滑动性能** 为了提高滑动的流畅性,我们需要注意减少每个页面的初始化和销毁时间。...

    Android的ViewPager多页面切换动画(仿Launcher)效果

    在Android开发中,ViewPager是一个非常重要的组件,常用于实现多页面滑动切换的效果,比如在应用的主界面、设置界面等场景。本教程将详细讲解如何利用ViewPager实现类似Android Launcher和QQ多标签页的页面切换动画...

    ViewPager页面滑动切换

    为了实现滑动动画效果,我们可以利用ViewPager的`addOnPageChangeListener`方法监听页面切换事件。例如,我们可以添加一个简单的平滑过渡动画: ```java viewPager.addOnPageChangeListener(new ViewPager....

    Android ViewPager多页面滑动切换以及动画效果

    - 创建一个继承自`PagerAdapter`的类,重写`getCount()`方法返回页面数量,以及`instantiateItem(ViewGroup container, int position)`方法来创建并添加每个页面到ViewPager。 - 如果页面是Fragment,可以使用`...

    RadioButton和ViewPager实现页面滑动效果

    3. 绑定ViewPager和RadioButton:在RadioButton的点击事件中,调用ViewPager的`setCurrentItem()`方法,传入当前选中RadioButton对应的页面索引,使ViewPager切换到对应的页面。 4. 设置PagerAdapter:创建一个...

    android 自定义酷炫ViewPager切换效果带页面弹性指示器动画

    在Android开发中,ViewPager是一个非常常用的组件,它用于展示多个页面并允许用户通过滑动来切换页面。在本教程中,我们将深入探讨如何创建一个自定义的ViewPager,使其具有酷炫的页面切换动画以及带有弹性效果的...

    仿ViewPager,事件分发应用

    `onInterceptTouchEvent`通常用于父View需要在子View之前对事件作出响应的情况,比如在ViewPager中,当用户滑动时,ViewPager可能需要拦截这些滑动事件以实现页面的切换。`onTouchEvent`则是每个View处理具体触摸...

    完美解决ViewPager嵌套的滑动问题

    当ViewPager 嵌套时,子ViewPager,不能优先处理滑动事件。 玩一下 网易新闻 客户端,多层嵌套,处理的很流畅,不过也有点小bug。此Demo完美解决ViewPager嵌套的滑动问题,但快速滑动父ViewPager,再滑动ViewPager...

    ViewPager实现五页面滑动切换

    在Android开发中,ViewPager是一个非常重要的组件,常用于实现页面间的滑动切换效果,比如在应用的引导页、Tab切换等场景。本教程将详细讲解如何利用ViewPager实现五页面的滑动切换,让读者深入了解这一功能的实现...

    radionButton和viewpager实现页面切换的效果

    在Android应用开发中,"RadioButton"和"ViewPager"是两种常用的UI组件,它们结合使用可以创建出丰富的用户体验,特别是用于实现页面切换效果。本篇将详细介绍如何利用这两个组件实现页面间的交互。 首先,...

    运行时动态添加和删除页面ViewPagerDemo

    【运行时动态添加和删除页面ViewPagerDemo】是一个Android开发中的实践案例,主要展示了如何在应用运行时根据用户交互动态地向ViewPager中增加或移除页面。这个实例对于那些需要实现可扩展、灵活布局的应用尤其有...

    viewPager 页面切换效果

    2. **页面切换监听**:`ViewPager`提供了`OnPageChangeListener`接口,用于监听页面切换事件,包含`onPageScrolled`、`onPageSelected`和`onPageScrollStateChanged`三个方法。开发者可以通过监听这些事件来执行相应...

    Android ViewPager和Fragment 实现滑动切换页面

    `ViewPager`提供了一个可以左右滑动查看多个页面的容器,而`Fragment`则作为Activity的部分内容,用于创建可重用、可管理的UI模块。下面将详细介绍如何利用这两个组件实现滑动切换页面的功能。 首先,`ViewPager`是...

    viewPager实现页面进行切换

    可以通过设置`OnPageChangeListener`或使用新的`ViewPager.OnPageChangeCallback`来监听页面切换事件。例如,你可以监听`onPageSelected()`方法来获取当前选中的页面索引。 5. **动态加载页面** 如果页面数量在...

Global site tag (gtag.js) - Google Analytics