Fragment 结合FragmentTabHost使用心得

FragmentTabHost我也不知道是什么,就是可用用来当新浪微博底部那个状态栏的工具。现在说下怎么使用

首先activity要继承FragmentActivity

例如

public class A extends FragmentActivity{

//定义FragmentTabhost

private FragmentTabhost tab;

private TextView text;

private String str[]={"短信","电话","黑白名单","设置"};

private int icon[]={R.drawable.ic_firewall_sms_desk_setting,R.drawable.firewall_tab_icon_phone,R.drawable.sync_register_icon,R.drawable.img1};

private Class fragments[]={Fragment1.class,Fragment2.class,Fragment3.class,Fragment5.class};

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.harassment_intercepion);//主界面下面放出这个节目的XML文件

iniView();

}

}

=================================================================

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="#333333"

>

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/up_frame"

>

<android.support.v4.app.FragmentTabHost   //这个是tabhost的组件

android:id="@android:id/tabhost"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

>

<FrameLayout

android:id="@android:id/tabcontent"

android:layout_width="0dp"

android:layout_height="0dp"

android:layout_weight="0" />

</android.support.v4.app.FragmentTabHost>

</RelativeLayout>

</RelativeLayout>

==========================================================================

然后实例化组件

public void init()

tab=this.findById(android.R.id.tabhost);//实例化tabhost

//tabhost.setup 第一个参数是context,第二个是拿到父类,第三个是

tabhost.setup(this, getSupportFragmentManager(), R.id.up_frame);外面包围tabhost的Rlayout

//

说说与Fragment结合。

具体使用到下面这个方法

int count=fragments.length;//拿到多少个fragment

for(int i=0;i<count;i++){

TabSpec spec=tab.newTabSpec(str[i]).setIndicator(getTabItemView(i));

tab.addTab(spec,fragments[i],null);//把点击的tab与fragment连接起来

}

}

////////////

private View getTabItemView(int index){

View view =inflater.inflate(R.layout.fragment_down, null);

image=(ImageView) view.findViewById(R.id.fragment_image);

text=(TextView) view.findViewById(R.id.fragment_text);

image.setImageResource(icon[index]);

text.setText(str[index]);

return view;

}

==========================================

总的来说就是

把fragment添加到fragmenttabhot。。

供自己参考。

Fragment 结合FragmentTabHost使用心得,布布扣,bubuko.com

时间: 2024-10-12 18:31:57

Fragment 结合FragmentTabHost使用心得的相关文章

Android项目开发实战之使用Fragment和FragmentTabHost搭建底部菜单(一)

学习在于实用,只有把自己学到的东西真正的融入到我们的开发中,并且使用的得心应手,那才是真正的掌握.而想把技术使用的得心应手并不是一蹴而就的,需要不断的巩固自己的知识体系,需要大量的实战练习,当然还不能缺少你的专研和耐心. 但是很多小伙伴们并不一定学过的知识都掌握了,而且相信很多伙伴们即使学习一种技术也还是停留在读过,看过,学习过,并没有真正的实战过,所以当时学习的技术觉得自己真正的学会了,搞懂了,而且信心满满的觉得自己可以不必在练习了,这是不对的,因为一时的学习并没有立马转变成为你的技能,而是需

仿oschina 主界面的实现(一) -------FragmentTabHost+Fragment

FragmentTabHost+Fragment 官网的API dome Special TabHost that allows the use of Fragment objects for its tab content. When placing this in a view hierarchy, after inflating the hierarchy you must call setup(Context, FragmentManager, int) to complete the

Alpha第六天

Alpha第六天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ.ZC负责前端开发,由JP和LL负责建库和服务器. 界面开发的教辅材料是<第一行代码>,利用Android Studio进行开发. 2.燃尽图 3.项目进展及安排 日期 已完成 未完成 10月31日 数据库完成+数据库测试:登录界面+注册界面+密码找回 11月 1日 服务器初步搭建:写日记界面+我的

[Android Pro] AndroidX重构和映射

原文地址:https://developer.android.com/topic/libraries/support-library/refactor https://blog.csdn.net/chen_xi_hao/article/details/81741486 AndroidX重构 未与Android操作系统捆绑在一起的API包将被重构到新的androidx命名空间中.只有包名和Maven工件名受到影响; 原来的类名,方法名和字段名不会更改.有关AndroidX重构的更多信息,请参阅博客

FragmentTabHost切换Fragment避免重新加载Fragment,即重复调用Fragment的onCreateView

FragmentTabHost一切换再返回的时候Fragment就会调用onCreateView重新绘制页面,被这个问题坑了好久.刚开始也不知道是 FragmentTabHost还是Fragment的原因,网上找了好久也没找到解决办法.终于搜了好久还是找到了: 解决方法,在fragment onCreateView 里缓存View: private View rootView;// 缓存Fragment view @Override public View onCreateView(Layout

安卓开发复习笔记——Fragment+FragmentTabHost组件(实现新浪微博底部菜单)

记得之前写过2篇关于底部菜单的实现,由于使用的是过时的TabHost类,虽然一样可以实现我们想要的效果,但作为学习,还是需要来了解下这个新引入类FragmentTabHost 之前2篇文章的链接: 安卓开发复习笔记——TabHost组件(一)(实现底部菜单导航) 安卓开发复习笔记——TabHost组件(二)(实现底部菜单导航) 关于Fragment类在之前的安卓开发复习笔记——Fragment+ViewPager组件(高仿微信界面)也介绍过,这里就不再重复阐述了. 国际惯例,先来张效果图: 下面

FragmentTabHost切换Fragment时避免重复加载UI

使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态. 解决办法:在Fragment onCreateView方法中缓存View 1 private View rootView;//缓存Fragment view 2 3 @Override 4 public View onCreateView(LayoutInflater inflater, ViewGroup conta

转-Fragment+FragmentTabHost组件(实现新浪微博底部菜单)

http://www.cnblogs.com/lichenwei/p/3985121.html 记得之前写过2篇关于底部菜单的实现,由于使用的是过时的TabHost类,虽然一样可以实现我们想要的效果,但作为学习,还是需要来了解下这个新引入类FragmentTabHost 之前2篇文章的链接: 安卓开发复习笔记——TabHost组件(一)(实现底部菜单导航) 安卓开发复习笔记——TabHost组件(二)(实现底部菜单导航) 关于Fragment类在之前的安卓开发复习笔记——Fragment+Vie

FragmentTabHost+Fragment搭建应用主框架

一.主界面Activity代码 public class MainActivity extends FragmentActivity{ //定义FragmentTabHost对象 private FragmentTabHost mTabHost; //定义一个布局填充器 private LayoutInflater layoutInflater; //定义数组来存放Fragment界面 private Class<?> fragmentArray[] = {HomeFragment.class