TabHost是一个过时的类,它的功能可以由Fragment来实现。
FragmentTransaction对fragment进行添加,移除,替换,以及执行其他动作。
从 FragmentManager 获得一个FragmentTransaction的实例 :
FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction =fragmentManager.beginTransaction();
一个小实例:
MainFragment.java
public class MainFragment extends Activity implements OnClickListener{ private Button first, second, third; private FrameLayout fl; private FirstFragment ff; private SecondFragment sf; private ThirdFragment tf; @Override protected void onCreate(Bundle savedInstanceState){ // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); first = (Button)findViewById(R.id.first_btn); second = (Button)findViewById(R.id.second_btn); third = (Button)findViewById(R.id.third_btn); fl = (FrameLayout)findViewById(R.id.fl); first.setOnClickListener(this); second.setOnClickListener(this); third.setOnClickListener(this); ff = new FirstFragment(); sf = new SecondFragment(); tf = new ThirdFragment(); } @Override public void onClick(View v){ switch (v.getId()){ case R.id.first_btn: switchFragment(R.id.fl, ff); break; case R.id.second_btn: switchFragment(R.id.fl, sf); break; case R.id.third_btn: switchFragment(R.id.fl, tf); break; default: break; } } public void switchFragment(int id, Fragment fragment){ try{ FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(id, fragment); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE); ft.commit();// 提交 } catch (Exception e){ e.printStackTrace(); } } }
FirstFragment.java,SecondFragment、ThirdFragment代码相似
public class FirstFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ // TODO Auto-generated method stub View fragmentView = inflater.inflate(R.layout.first, null); return fragmentView; } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/first_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="first"/> <Button android:id="@+id/second_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="second"/> <Button android:id="@+id/third_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="third"/> </LinearLayout> <FrameLayout android:id="@+id/fl" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </LinearLayout>
first.xml,second.xml,third.xml代码相似,当然可自行布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/blue"> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/win"/> </LinearLayout>
效果截图:
相关推荐
Android高级应用源码-Fragment实现TabHost效果.zip
Fragment实现tabhost的效果
android中fragment实现tabhost标签切换效果
Fragment实现TabHost效果,fragment+radioGroup实现的效果
安卓Fragment实现tabhost代码,加油加油加油
用Fragment实现tabHost的效果
本demo主要是用Fragment实现TabHost的功能,是完全的实现,和之前两个demo相比,这个是完全从不同的角度来实现选项卡的功能,可以看看这三篇文章,对这个demo的理解会更深刻一些...
之前写的一个完全基于Fragment实现TabHost的Demo,现在改进一下,里面的布局全部使用JAVA代码实现,另外在注册和找回密码切换的时候加入的3D翻转切换效果,2.2以上通用
Fragment实现TabHost效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
使用fragment实现点击控件切换页面,类似与TabHost,只是不切换activity只是切换fragment
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
ViewPager +Fragment 实现TabHost功能
使用Fragment+Tabhost实现新闻客户端框架,初步讲解Fragment的使用。Fragment的使用能使应用程序显示更好的效果和更好的屏幕适配
Fragment + TabHost + RadioGroup 结合DEMO||Fragment + TabHost + RadioGroup 结合DEMO
通过Fragment+TabHost实现底部选项卡
用Fragment 与 TabHost 实现 Fragment 的切换
使用Fragment+Tabhost实现网易新闻客户端的框架,初步讲解Fragment的使用。Fragment的使用能使应用程序显示更好的效果和更好的屏幕适配
通过Fragment+TabHost实现底部选项卡