当前位置: 移动技术网 > IT编程>移动开发>Android > Android Fragment+FragmentTabHost组件实现常见主页面(仿微信新浪)

Android Fragment+FragmentTabHost组件实现常见主页面(仿微信新浪)

2019年07月24日  | 移动技术网IT编程  | 我要评论

十八大报告全文下载,帅同社区 硬男图,上师大主页

采取的方法是fragment+fragmenttabhost组件来实现这种常见的app主页面的效果

首先给出main.xml文件

  <?xml version="1.0" encoding="utf-8"?>
  <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="match_parent"
  android:layout_height="match_parent">
  <framelayout
   android:id="@+id/realtabcontent"
   android:layout_width="fill_parent"
   android:layout_height="0dip"
   android:layout_weight="1"
   android:background="@color/white" />
 
 
  <linearlayout
   android:layout_width="match_parent"
  android:layout_height="wrap_content"
   android:layout_gravity="bottom"
   android:orientation="vertical">
 
   <view
    android:layout_width="match_parent"
    android:layout_height="1px"
    android:background="@color/color_home_tab_line" />
 
   <android.support.v4.app.fragmenttabhost
    android:id="@android:id/tabhost"
  android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/et_divider_disable">
 
    <framelayout
     android:id="@android:id/tabcontent"
    android:layout_width="0dp"
     android:layout_height="0dp"
     android:layout_weight="0" />
   </android.support.v4.app.fragmenttabhost>
 
   </linearlayout>  </linearlayout>

主代码:

 public class mainactivity
 { @viewinject(android.r.id.tabhost)
   private fragmenttabhost mtabhost;
 private layoutinflater layoutinflater;
 
 private int mimageviewarray[] = {r.drawable.home_tab1, r.drawable.home_tab2, r.drawable.home_tab3, r.drawable.home_tab4};
   private string mtextviewarray[] = {"首页", "圈子", "资讯","个人中心"};
   private class fragmentarray[] = {fragment1.class, fragment2.class, fragment3.class,fragment4.class};
 
 protected void oncreate(bundle savedinstancestate) {
     super.oncreate(savedinstancestate);
     init();
   }
 
 @override
   protected void init() {
 //    list=new jsonarray();
     layoutinflater=layoutinflater.from(this);
     inittabhost();//初始化底部菜单
 }
 
 /**
   * 初始化底部工具栏
   */
   private void inittabhost() {
     mtabhost = (fragmenttabhost) findviewbyid(android.r.id.tabhost);
     mtabhost.setup(this, getsupportfragmentmanager(), r.id.realtabcontent);
     int count = fragmentarray.length;
     for (int i = 0; i < count; i++) {
       tabhost.tabspec tabspec = mtabhost.newtabspec(mtextviewarray[i])
           .setindicator(gettabitemview(i));
       mtabhost.addtab(tabspec, fragmentarray[i], null);
       mtabhost.gettabwidget().getchildat(i)
           .setbackgroundresource(r.color.white);
     }
     mtabhost.setcurrenttabbytag(mtextviewarray[0]);
     mtabhost.gettabwidget().setdividerdrawable(null);
 }
 
  /**
   * 项的样式
   * @param index 第几个
   * @return 每一个tab样式
   */
   private view gettabitemview(int index) {
     view view = layoutinflater.inflate(r.layout.tab_home_item, null);
     imageview imageview = (imageview) view.findviewbyid(r.id.icon);
     imageview.setimageresource(mimageviewarray[index]);
     textview textview = (textview) view.findviewbyid(r.id.name);
     textview.settext(mtextviewarray[index]);
     return view;
   }
 
 
 
 
 }

通过以上文章,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网