Android actionBar与Fragment结合使用Demo2
上一篇文章介绍了ActionBar的使用,这里介绍ActionBar的还有一种用法。达到的效果和曾经的GroupActivity或TabHost是一样的,可作为导航来使用。
实现效果图:
源码:
布局文件:activity_main:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" android:background="@android:color/white"></RelativeLayout>
f1.xml(体育新闻相应的布局文件):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="欢迎收看体育新闻..." android:textSize="20sp"android:textColor="@android:color/holo_blue_dark"/><RatingBarandroid:id="@+id/ratingBar1"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>
f2.xml(娱乐新闻):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="欢迎收看娱乐新闻..."android:textColor="@android:color/holo_green_dark"android:textSize="20sp" /></LinearLayout>
f3.xml(军事新闻):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="欢迎收看军事新闻..."android:textColor="@android:color/holo_orange_dark"android:textSize="20sp" /></LinearLayout>
代码文件:
MainActivity:
package com.fragmentdemo10_actionbar;import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.os.Bundle;public class MainActivity extends Activity {private ActionBar actionBar;/*** 设置三个整型常量。分别为0,1,2;分别相应 :运动新闻、娱乐新闻、军事新闻。*/private final int SPORTS = 0;private final int ENTERTAINMENT = 1;private final int MILITARY = 2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);actionBar = getActionBar();// 设置ActionBar的导航模式actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);/*** 加入三个tab,分别为:体育新闻,娱乐新闻,军事新闻。
*/ actionBar.addTab(actionBar.newTab().setText("体育新闻") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(SPORTS)); actionBar.addTab(actionBar.newTab().setText("娱乐新闻") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(ENTERTAINMENT)); actionBar.addTab(actionBar.newTab().setText("军事新闻") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(MILITARY)); } class MyTabListener implements TabListener { @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { switch (Integer.parseInt(tab.getTag().toString())) { /** * 相应体育新闻 */ case SPORTS: ft.replace(R.id.main, new FragementA()); break; /** * 相应娱乐新闻 */ case ENTERTAINMENT: ft.replace(R.id.main, new FragementB()); break; /** * 相应军事新闻 */ case MILITARY: ft.replace(R.id.main, new FragementC()); break; default: break; } } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } } }
FragmentA(Tab体育新闻相应的Fragment):
package com.fragmentdemo10_actionbar;import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/*** Tab体育新闻相应的Fragment**/
public class FragementA extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.f1, null);return view;}
}
FragmentB(Tab娱乐新闻相应的Fragment):
package com.fragmentdemo10_actionbar;import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/*** TAB娱乐新闻相应的Fragment**/
public class FragementB extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.f2, null);return view;}
}
FragmentC(Tab军事新闻相应的Fragment):
package com.fragmentdemo10_actionbar;import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/*** TAB军事新闻相应的Fragment**/
public class FragementC extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.f3, null);return view;}
}
源码下载:
点击下载源代码
Android actionBar与Fragment结合使用Demo2相关推荐
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下) .
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/25466665 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/25466665 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...
- Android ActionBar高级自定义——设置标题居中和添加控件
转载地址:http://blog.csdn.net/gtbluesky/article/details/44656567 关于ActionBar的一些常见使用方法我已经在之前两篇博文(Android ...
- Android ActionBar应用实战,高仿微信主界面的设计
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...
- android action bar 风格,Android ActionBar使用教程
ActionBar的引入方式: 有几种,从 Android 3.0(API lever 11) 开始,所有使用 Theme.Holo 主题(或者它的子类)的 Activity 都包含了 action ...
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
上一篇文章简单介绍了Android的回调机制的使用,这一篇博文将重点介绍Fragment碎片与activity的数据交互,fragment在Android开发中起着至关重要的作用,通过官方Androi ...
- 无法为新的Android ActionBar支持找到Theme.AppCompat.Light
本文翻译自:Can't Find Theme.AppCompat.Light for New Android ActionBar Support I am trying to implement th ...
- 【Android】保存Fragment切换状态
[Android]保存Fragment切换状态 前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章 ...
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/guide/topics/ui/act ...
最新文章
- 改写URL的查询字符串QUERY_STRING(转)
- C. Little Girl and Maximum Sum【差分 / 贪心】
- phpgif图片包_php生成动态验证码gif图片
- VS2010中不可忽视的部分——VSTO
- php 仿电脑桌面系统,EonerCMS——做一个仿桌面系统的CMS(十-附最新源码)
- Linux查看与修改时区、时间的命令
- 最简单的基于FFmpeg的内存读写的例子:内存播放器
- 亿图图示edraw max mac版
- 51中断实验与流水灯protues仿真
- 风阻能发电装置叶片的动力学仿真
- 音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)
- 谈谈自我介绍与第一印象
- 飞凌ok6410一键烧写linux文件,飞凌OK6410-B Linux学习之一刷机过程
- oracle获取两个月前的时间
- 技术栈(technology stack)
- 【Wing Loss】《Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks》
- 网站打开速度与服务器的关系,网站打开速度慢对SEO的影响
- 连锁加盟2-3事~实录
- c语言的实验题答案,大一C语言上机实验试题及答案
- python面试自我介绍怎么介绍比较好_面试时三分钟自我介绍,需要注意哪些问题?...