- 浏览: 260068 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
sunshine_bean:
第四行改进下URL=`svn info |grep &quo ...
linux判断是否需要svn up的脚本 -
leokelly001:
设置请求头,user-agent就行了
android使用豆瓣API出现500错误及解决方法 -
貌似掉线:
txy7121 写道HandlerFactory和AntiCo ...
大谈android安全2——Activity劫持的防范程序 -
txy7121:
HandlerFactory和AntiConstants这两个 ...
大谈android安全2——Activity劫持的防范程序 -
貌似掉线:
hyc_willie 写道关注着你的框架,希望能见到它的发布 ...
androidkit——Android开发框架
android使用actionbar中的tab,及fragment代码示例:
其中BorrowFragment, SearchFragment及UploadFragment均继承自Fragment,并重写其onCreateView方法。
/* * @(#)MainActivity.java Project:bookmanager * Date:2013-1-9 * * Copyright (c) 2013 CFuture09, Institute of Software, * Guangdong Ocean University, Zhanjiang, GuangDong, China. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.lurencun.app.bookmanager.ui; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import com.lurencun.app.bookmanager.R; import com.lurencun.cfuture09.androidkit.util.ui.ExitDoubleClick; /** * @author Geek_Soledad (66704238@51uc.com) */ public class MainActivity extends Activity { private static final int MENU_CHANGE_USER = 1; private BorrowFragment mBorrowFragment; private SearchFragment mSearchFragment; private UploadFragment mUploadFragment; private ExecutorService mExecutor; private ActionBar mBar; private ActionBar.Tab mTabBorrow; private ActionBar.Tab mTabUpload; private ActionBar.Tab mTabSearch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mExecutor = Executors.newFixedThreadPool(3); mBorrowFragment = new BorrowFragment(mExecutor); mSearchFragment = new SearchFragment(mExecutor); mUploadFragment = new UploadFragment(mExecutor); mBar = getActionBar(); mBar.setHomeButtonEnabled(true); mBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mTabBorrow = mBar.newTab().setText(R.string.borrow); mTabSearch = mBar.newTab().setText(R.string.search); mTabUpload = mBar.newTab().setText(R.string.upload); List<Fragment> fragments = new ArrayList<Fragment>(); fragments.add(mBorrowFragment); fragments.add(mSearchFragment); fragments.add(mUploadFragment); MyTabListener tabListener = new MyTabListener(fragments); mTabBorrow.setTabListener(tabListener); mTabSearch.setTabListener(tabListener); mTabUpload.setTabListener(tabListener); // mTabBorrow.setTabListener(new MyTabListener(mBorrowFragment)); // mTabSearch.setTabListener(new MyTabListener(mSearchFragment)); // mTabUpload.setTabListener(new MyTabListener(mUploadFragment)); mBar.addTab(mTabBorrow); mBar.addTab(mTabSearch); mBar.addTab(mTabUpload); } /** * 当Fragment中的控件被点击时的回调事件。 * * @param v */ public void onButtonClick(View v) { if (mBar.getSelectedTab().equals(mTabBorrow)) { mBorrowFragment.onButtonClick(v); } if (mBar.getSelectedTab().equals(mTabUpload)) { mUploadFragment.onButtonClick(v); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: changeUser(); break; default: break; } return true; } /** * 更换用户。 */ private void changeUser() { startActivity(new Intent(this, LoginActivity.class)); finish(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { ExitDoubleClick.getInstance(this).doDoubleClick(2000, null); return true; } return super.onKeyDown(keyCode, event); } @Override protected void onDestroy() { super.onDestroy(); mExecutor.shutdown(); } /** * 自定义的TabListener,实现tab布局。 * * @author msdx * */ protected class MyTabListener implements ActionBar.TabListener { // private Fragment mFragment; private List<Fragment> mFragments; public MyTabListener(List<Fragment> fragments) { mFragments = fragments; FragmentTransaction ft = getFragmentManager().beginTransaction(); for (Fragment fragment : fragments) { ft.add(R.id.fragment_place, fragment, null); } ft.commit(); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.show(mFragments.get(tab.getPosition())); // ft.add(R.id.fragment_place, mFragment, null); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // ft.remove(mFragment); ft.hide(mFragments.get(tab.getPosition())); } } }
其中BorrowFragment, SearchFragment及UploadFragment均继承自Fragment,并重写其onCreateView方法。
发表评论
-
利用电脑玩Android版“天天连萌”刷高分(四)——模拟按键及程序优化
2014-01-22 00:14 1706这一系列文章,没想到从去年10月份以来,写了三篇我就忘了写了, ... -
利用电脑玩Android版“天天连萌”刷高分(三)——连连看消除搜索
2013-10-29 17:02 1181差点忘了写接下来的这两篇博客了,这篇如果接不上上一篇,请勿见怪 ... -
利用电脑玩Android版“天天连萌”刷高分(二)——图像识别
2013-10-20 15:44 1535上一篇只是提到了在PC端利用android sdk里面的工具进 ... -
利用电脑玩Android版“天天连萌”刷高分(一)——截图
2013-10-20 11:22 3407这几周微信游戏“天天 ... -
在PC端进行android截屏的多种方法
2013-10-18 11:01 3593昨晚意外的发现在PC端进行截屏的方法相当多,在android ... -
近期计划
2013-09-01 20:02 1228在上一篇(http://maosidiao ... -
Android开源游戏引擎之Angle(二)——开始前的准备
2013-09-01 12:04 2505在上一篇博客(http://mao ... -
Android开源游戏引擎之Angle(一)——概述
2013-08-31 19:26 6031Angle是一个Android平台上 ... -
设置tabWidget标题的字体大小及颜色
2013-03-27 13:47 9456/* * @(#)TextAppearenceUtil ... -
桌面小部件AppWidget的使用
2013-02-23 13:49 1721在android平台中,显示在HOME界面的一些挂件,即桌面小 ... -
android使用豆瓣API出现500错误及解决方法
2013-01-10 18:56 6282为团队做一个图书管理的应用,涉及到扫描ISBN然后查询图书信息 ... -
进入程序的动画IntroActivity增强版
2012-12-11 10:19 1468这是对上一次谈到的android程序进入前的动画的封装(详见: ... -
androidkit发布0.5.3alpha版
2012-12-07 09:26 1304androidkit是一个用于android应用层开发的工具包 ... -
使用Zxing及豆瓣API
2012-12-06 20:30 2396本文原创,转载请注明原文地址:http://maosidiao ... -
androidkit——减少android开发代码的工具包
2012-11-16 22:25 2221androidkit是我学android开发以来,慢慢在封装的 ... -
android开发知识点1——按钮效果
2012-10-30 15:15 2328android中控件的背景或ImageView、ImageBu ... -
android颜色选择器
2012-09-24 13:39 3368前段时间想到要封装一个颜色选择器的类,查询后知道谷歌api d ... -
androidt程序文字锯齿
2012-09-24 00:51 1283刚才才发现,在开发android程序时,如果在manifest ... -
大谈android安全2——Activity劫持的防范程序
2012-09-23 23:13 9407本文原创,转载请注明出处: http://maosidiaox ... -
android程序开启动画封装
2012-09-20 22:24 5751本文及代码原创,转载请注明出处:http://maosidia ...
相关推荐
本教程将重点讨论如何在`ActionBar`中实现`Fragment`的切换,以创建一个互动丰富的Android应用。 `ActionBar`的设计目标是为用户提供一个统一且可定制的顶部导航区域。它通常包含应用图标、应用标题以及一些操作...
总之,`ActionBar`与`Fragment`的结合使用是Android开发中的重要技巧,它允许开发者构建响应式、易于导航的应用程序。通过熟练掌握这一技术,你能够提升应用的用户体验,同时使代码更加模块化和易于维护。
总的来说,`ActionBar`与`Fragment`的结合使用,能够使Android应用的界面更加丰富和互动,同时提高代码的复用性。通过熟练掌握这两者,开发者可以构建出更适应多屏幕设备且易于维护的应用程序。
* 在Android中使用支持库下的ActionBar和fragment * 在Android中使用RelativeLayout和FrameLayout布局 * 在Android中使用主题适配 技术要点: * 使用ActionBar.setNavigationMode()方法设置导航模式 * 使用...
在Android应用开发中,`ActionBar`和`Fragment`是两个非常关键的组件,尤其是在3.0及以上版本。它们为开发者提供了更加丰富和灵活的界面设计能力。本实例将深入探讨这两个组件的使用方法以及如何结合它们来提升用户...
在Android应用开发中,ActionBar、Fragment和ViewPager是三个非常重要的组件,它们对于构建用户界面和实现复杂的导航功能具有重要作用。让我们深入探讨这三个组件及其在实际应用中的使用。 **ActionBar** ActionBar...
在Android应用开发中,`ActionBar`、`Fragment`和`ViewPager`是三个非常重要的组件,它们共同作用可以创建出功能丰富的界面布局。本教程将详细解释如何利用这些组件实现一个`TabActivity`,即带有标签切换功能的活动...
在Android应用开发中,"Actionbar+动态fragment导航栏"是一个常见的设计模式,它结合了UI元素和数据的动态更新,以提供用户友好的交互体验。这个项目的核心知识点包括Actionbar的使用、Fragment的动态管理和网络请求...
以上就是使用`Android Fragment`和`ActionBar`实现tab标签切换页面的基本流程和关键知识点。开发者可以根据实际需求对这一过程进行扩展和定制,例如添加动画效果、自定义tab样式等。在实践中,你还可以使用`...
在Android应用开发中,"仿微信5.2界面(ActionBar+ViewPager+Fragment)"是一个常见的设计模式,用于构建类似微信的多页面、可滑动切换的用户界面。这个标题所涉及的知识点主要涵盖三个方面:ActionBar、ViewPager和...
在Android应用开发中,"Actionbar+Fragment+ViewPager"是一个常见的组合,用于构建高效、可扩展的用户界面。这三个组件都是Android SDK中的核心组件,它们各自有着特定的功能,并且可以协同工作来提升用户体验。 ...
Android学习路线(二十四)ActionBar Fragment运用最佳实践demo, 博客地址:http://blog.csdn.net/sweetvvck/article/details/38645297
在Android开发中,`Fragment`常与`ActionBar`结合使用,以实现复杂的导航和多层级的用户界面。 在项目描述中提到的“import以后就能够直接运行,不需要改动的代码”,这可能意味着提供的代码是一个已经编译完成并且...
总的来说,这个文档内容涉及了Android应用开发中的基本组件和网络数据处理,展示了如何使用`ActionBar`实现标签页导航,利用`Fragment`实现动态界面,以及通过异步任务处理`JSON`数据。这在实际开发中是非常常见的...
1.几个fragment的使用,代码来自于Demo程序,可用于练习fragment 2.使用了viewpager,参照android4的通讯录代码实现,可用于练习viewPager的使用 3.里面通过getActionBar设置了tab,并去掉默认标题栏
标题中的“actionBar+viewpager+adapter+fragment”是一个经典的Android开发组合,用于构建具有可滑动页面的应用界面。在Android应用开发中,这四个组件是实现动态、交互丰富的用户界面的关键元素。让我们深入探讨...
- 通信:Fragment与Activity之间可以通过setArguments(Bundle)和getArguments()传递数据,或者通过接口回调进行更复杂的交互。 2. **底部导航菜单(BottomNavigationView)**: - 使用BottomNavigationView:引入...
10. **Android Support Library**:由于Android设备的碎片化,为了兼容低版本系统,我们需要使用Android Support Library中的`android.support.v7.app.ActionBar`。 在学习和实践这个示例源码时,建议逐步分析每个...
Fragment和ActionBar都是Android3.0之后出现的,Fragment,碎片,主要是为了支持更多的UI设计在大屏幕设备上,如平板。因为现在设备的屏幕越来越大,使用Fragment可以更灵活的管理视图层次的变化。像Activity一样,...