Android actionBar与Fragment结合使用Demo2
来源:互联网 发布:思科网络管理软件 编辑:程序博客网 时间:2024/05/17 08:22
上一篇文章介绍了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" > <TextView android: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"/> <RatingBar android: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" > <TextView android: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" > <TextView android: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 {@Overridepublic 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;}}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {}@Overridepublic 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;}}
源代码下载:
点击下载源码
3 0
- Android actionBar与Fragment结合使用Demo2
- Android actionBar与Fragment结合使用Demo
- Fragment与ActionBar的结合使用
- ActionBar与ViewPager结合使用
- Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)
- 简单DrawerLayout与ActionBar的结合使用
- ViewPager与Fragment结合使用
- Fragment与RadioButton结合使用
- Fragment与RadioButton结合使用
- ActionBar 与Fragment的联合使用
- 菜单栏ActionBar与Fragment完美使用
- Android - Fragment+ViewPager结合使用
- Android ActionBar详解(六)--->利用ActionBar结合Fragment实现下拉式导航
- ActionBar与Fragment
- android中ActionBar +Fragment
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- C# 创建、安装和卸载Windows服务程序
- design pattern Builder 建造者设计模式
- jdom解析xml简单事例
- SqlServer2008还原数据库
- C++函数重定义、重载、重写的区别
- Android actionBar与Fragment结合使用Demo2
- SQL语句修改字段默认值
- JSP EL表达式
- Cocos2d-3x:vs2012项目转为android项目需注意的地方
- 有了它,我还需要自己开发一套企业级系统吗?
- 【C语言天天练(七)】回调函数
- POJ-2488(回溯+剪枝)
- 动态规划,待解决
- js css 实现遮罩层