- 浏览: 600254 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
左右移动ViewPager时加载不同的Fragment
package com.example.mainframework03; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.widget.ImageButton; import android.widget.LinearLayout; public class MainActivity extends FragmentActivity { private ViewPager mViewPager; private FragmentPagerAdapter mAdapter; private List<Fragment> mFragments = new ArrayList<Fragment>(); /** * 底部四个按钮 */ private LinearLayout mTabBtnWeixin; private LinearLayout mTabBtnFrd; private LinearLayout mTabBtnAddress; private LinearLayout mTabBtnSettings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewPager = (ViewPager) findViewById(R.id.id_viewpager); // 初始化底部按钮 并构造Fragment集合 initView(); // 初始化FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public int getCount() { return mFragments.size(); } @Override public Fragment getItem(int arg0) { return mFragments.get(arg0); } }; mViewPager.setAdapter(mAdapter); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { private int currentIndex; @Override public void onPageSelected(int position) { // 重置底部按钮状态 resetTabBtn(); // 设置对应按钮为按着状态 switch (position) { case 0: ((ImageButton) mTabBtnWeixin .findViewById(R.id.btn_tab_bottom_weixin)) .setImageResource(R.drawable.tab_weixin_pressed); break; case 1: ((ImageButton) mTabBtnFrd .findViewById(R.id.btn_tab_bottom_friend)) .setImageResource(R.drawable.tab_find_frd_pressed); break; case 2: ((ImageButton) mTabBtnAddress .findViewById(R.id.btn_tab_bottom_contact)) .setImageResource(R.drawable.tab_address_pressed); break; case 3: ((ImageButton) mTabBtnSettings .findViewById(R.id.btn_tab_bottom_setting)) .setImageResource(R.drawable.tab_settings_pressed); break; } currentIndex = position; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } protected void resetTabBtn() { ((ImageButton) mTabBtnWeixin.findViewById(R.id.btn_tab_bottom_weixin)) .setImageResource(R.drawable.tab_weixin_normal); ((ImageButton) mTabBtnFrd.findViewById(R.id.btn_tab_bottom_friend)) .setImageResource(R.drawable.tab_find_frd_normal); ((ImageButton) mTabBtnAddress.findViewById(R.id.btn_tab_bottom_contact)) .setImageResource(R.drawable.tab_address_normal); ((ImageButton) mTabBtnSettings .findViewById(R.id.btn_tab_bottom_setting)) .setImageResource(R.drawable.tab_settings_normal); } private void initView() { mTabBtnWeixin = (LinearLayout) findViewById(R.id.id_tab_bottom_weixin); mTabBtnFrd = (LinearLayout) findViewById(R.id.id_tab_bottom_friend); mTabBtnAddress = (LinearLayout) findViewById(R.id.id_tab_bottom_contact); mTabBtnSettings = (LinearLayout) findViewById(R.id.id_tab_bottom_setting); MainTab01 tab01 = new MainTab01(); MainTab02 tab02 = new MainTab02(); MainTab03 tab03 = new MainTab03(); MainTab04 tab04 = new MainTab04(); mFragments.add(tab01); mFragments.add(tab02); mFragments.add(tab03); mFragments.add(tab04); } }
- MainFramework03.rar (1.5 MB)
- 下载次数: 4
发表评论
文章已被作者锁定,不允许评论。
-
android BaseActivity与BaseFragment的封装
2016-05-19 15:06 10401 概述 多模块Activity+多Fragment 是开发 ... -
android ScrollView常用属性
2016-05-09 09:17 731android:scrollbars 设置滚动条显示。none ... -
android RecyclerView使用及详解
2016-05-04 10:35 29251.前言 话说RecyclerView已经面市很久,也在很多 ... -
android DialogFragment 创建对话框(官方推荐)
2016-04-29 14:22 9281、 概述 DialogFragment在android 3. ... -
android Intent Flags及Task相关属性
2016-04-26 09:15 644task是一个具有栈结构的容器,可以放置多个Activity实 ... -
android SQLite具体实例应用详解(SQLiteOpenHelper)
2016-04-18 19:24 841上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们 ... -
android SQLite3常用命令&语法
2016-04-18 19:01 646sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常 ... -
android View绘制相关问题总结
2016-03-28 19:27 7071.View的绘制流程分几步 ... -
android Handler Looper MessageQueue机制的原理
2016-03-22 21:09 791andriod提供了Handler和Looper来满足线程间的 ... -
android Bitmap,BitmapFactory类图像处理
2016-03-16 16:28 2394BitMap代表一张位图,扩展名可以是.bmp或者.dib。 ... -
android 三类菜单(Option) (Context) (SubMenu)学习
2016-03-14 15:23 950在Android系统中,菜单可以分为三类:选项菜单(Optio ... -
android Sqlite数据库对象模型ORMLite框架学习
2016-03-11 15:24 731在Android项目中或多或少的都会使用数据库,为了提高我们的 ... -
android AsyncTask<参数,进度值类型,返回类型>学习
2016-03-10 14:45 1206AsyncTask和Handler对比 1 ... -
android 远程图片获取和本地缓存
2016-03-10 14:32 804概述 对于客户端——服 ... -
android onSaveInstanceState和onRestoreInstanceState学习
2016-03-10 10:08 827Android中的activity通过onSaveInst ... -
android Fragment生命周期和回退栈学习以及Fragment之间通信
2016-03-10 09:31 1555会涉及到Fragment如何产生,什么是Fragment,Fr ... -
android LruCache内存缓存学习(重写sizeOf方法)
2016-03-09 19:25 1090什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全 ... -
android ListView中的convertView缓存及使用
2016-03-09 19:12 1738一、复用convertView 首先讲下ListView的原 ... -
android 从资源角度谈Android代码内存优化
2016-03-09 18:54 742开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么 ... -
android startActivityForResult和setResult详情及Demo
2016-03-09 08:56 1074startActivityForResult与startAct ...
相关推荐
`ViewPager` 和 `FragmentPagerAdapter` 是Android SDK提供的两个关键组件,可以联合使用来实现这种功能。本知识点将详细讲解如何利用这两个组件来创建一个Tab布局。 `ViewPager` 是Android中的一个视图容器,它...
在Android应用开发中,`ViewPager`和`Fragment`是两个重要的组件,它们常被结合使用以实现用户界面的滑动切换效果。`ViewPager`提供了一个可以左右滑动查看多个页面的容器,而`Fragment`则作为Activity的部分内容,...
若想与TabLayout结合使用,创建TabLayout并设置ViewPager: ```java TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.setupWithViewPager(viewPager); // 可以在创建PagerAdapter时为每个...
在Android开发中,`ViewPager` 和 `FragmentPagerAdapter` 是两个重要的组件,它们常用于实现页面滑动的效果,比如常见的TabLayout或应用内的相册浏览。`ViewPager` 是一个可以水平滑动视图容器,而 `...
**Android ViewPager 使用详解...总之,Android的ViewPager是一个强大且灵活的组件,通过恰当的配置和使用,我们可以创建出功能丰富的滑动界面。在实际项目中,结合源码分析和最佳实践,可以提高应用的性能和用户体验。
在这个“Android ViewPager小示例”中,我们将深入探讨ViewPager的基本用法、功能以及如何与其他组件结合使用,以实现更丰富的交互体验。 首先,ViewPager是Android Support Library的一部分,它支持API 11及以上...
通常,ViewPager会结合PagerAdapter或FragmentPagerAdapter一起使用,以填充和管理各个页面内容。 在这个源码中,ViewPager与Fragment的结合是关键。Fragment是Android中的一个模块化组件,它可以包含UI元素,也...
在Android开发中,`ViewPager`和`Fragment`的结合使用是一种常见的页面切换方式,尤其适用于创建滑动浏览的多页布局。本教程将详细介绍如何利用`ViewPager`和`Fragment`来实现在移动应用中平滑地切换不同页面。 ...
- ViewPager通常配合PagerAdapter或FragmentPagerAdapter使用,这两个适配器负责为ViewPager提供页面内容。 - 在创建PagerAdapter时,需要重写`instantiateItem()`和`destroyItem()`方法,分别用于创建和销毁页面...
总之,ViewPager与Fragment的结合使用是Android开发中常用的一种布局模式,它可以创建出富有交互性的多页应用界面。通过适配器管理Fragment,结合TabLayout提供导航指示,我们可以轻松地构建出用户友好的界面。同时...
在这个示例中,我们结合`ViewPager`、`Fragment`、`PagerAdapter` 和 `OnPageChangeListener` 来创建一个带有圆点导航的左右滑动界面。下面我们将详细探讨这些知识点。 1. **ViewPager**: `ViewPager` 是Android ...
`ViewPager` 可以与数据绑定库(如 `Data Binding` 或 `LiveData`)结合使用,动态更新页面内容。在 `ViewPagerDemo` 中,你可能看到如何将数据模型与页面视图进行关联。 ### 7. 无限循环效果 通过适配器的特殊...
这个压缩包"安卓Android源码——ViewPager和Tabhost结合,可滑动的tabhost.rar"提供了将两者结合使用的示例代码,帮助开发者创建一个可以滑动的`TabHost`,增强用户体验。 `ViewPager` 是Android SDK中的一个强大...
总的来说,ViewPager与Fragment的结合使用,使得在Android应用中实现滑动切换页面和管理页面内容变得更加便捷。通过上述步骤,我们可以创建一个具有内容和标题的多页面视图,同时保持良好的性能和用户体验。对于...
在Android开发中,`ViewPager`和`ListView`是两种非常重要的组件,它们分别用于实现页面滑动...通过学习和实践这个例子,开发者不仅可以掌握如何使用`ViewPager`和`ListView`,还能深入理解Android应用的性能优化技巧。
本教程将深入探讨Android中的ViewPager及其使用方式,结合具体的Java代码实例——ButtonMenuDemo,来帮助开发者更好地理解和运用这个功能。 ViewPager最初在Android Support Library中引入,但现在已经成为AndroidX...
总之,ViewPager和Fragment的结合使用为Android应用提供了强大的页面切换和界面组织能力,允许开发者创建功能丰富的、响应式的多页应用。在实际开发中,可以根据具体需求调整PagerAdapter的实现,如缓存策略、页面预...
`ViewPager`和`Fragment`的结合使用为Android开发者提供了强大的页面切换和管理能力。通过合理地配置适配器和滑动效果,可以创建出各种丰富的用户界面,提高用户体验。同时,注意内存管理和性能优化,避免在`...
**ViewPager与Fragment结合使用:** ViewPager通常与Fragment一起使用,因为Fragment可以单独管理其生命周期,这在处理复杂布局和数据时非常有用。每个Fragment在ViewPager中代表一个独立的页面。通过PagerAdapter...
在这个特定的场景中,我们将`ViewPager`和`GridView`结合使用,构建一个类似手机桌面启动器(Launcher)的应用,让用户能够通过滑动页面浏览多个网格视图。 首先,`ViewPager`是Android Support Library提供的一种...