drawerNavigation被fragment overlay, FragmentTabHost使用
来源:互联网 发布:mt4 布林线源码 编辑:程序博客网 时间:2024/05/16 06:36
当遇到一个坑爹的设计师,,,,要求同时使用drawerNavigation和 Tabs时。。。。打开抽屉时,发现抽屉被被还有tabs的fragment overlay。。。。。
1 原因:
drawerNavigation 一般是overlay所有的界面,但是不能够overlay 含有tabs的fragment
2 解决办法:
2.1可以 隐藏掉所有的现在可见的fragment,效果差
2.2可以 改变导航模式 eg: actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 效果也不好,但是比第一种效果强。
注: 有没有更好的办法?
2.3 使用FragmentTabHost, 即将给需要添加的tabs一个容器。
3 举例:
在Activity中使用FragmentTabHost
import com.example.android.supportv4.R;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentTabHost;/** * This demonstrates how you can implement switching between the tabs of a * TabHost through fragments, using FragmentTabHost. */public class FragmentTabs extends FragmentActivity { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_tabs); mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), FragmentStackSupport.CountingFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), LoaderCursorSupport.CursorLoaderListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), LoaderCustomSupport.AppListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"), LoaderThrottleSupport.ThrottledLoaderListFragment.class, null); }}
在Fragment中使用FragmentTabHost
import com.example.android.supportv4.R;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentTabHost;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragmentTabsFragmentSupport extends Fragment { private FragmentTabHost mTabHost; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mTabHost = new FragmentTabHost(getActivity()); mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.fragment1); mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), FragmentStackSupport.CountingFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), LoaderCursorSupport.CursorLoaderListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), LoaderCustomSupport.AppListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"), LoaderThrottleSupport.ThrottledLoaderListFragment.class, null); return mTabHost; } @Override public void onDestroyView() { super.onDestroyView(); ((ViewGroup) mTabHost.getParent()).removeView(mTabHost); }}
0 0
- drawerNavigation被fragment overlay, FragmentTabHost使用
- FragmentTabHost+Fragment的使用
- 使用FragmentTabHost+Fragment打造布局
- Fragment+FragmentTabHost
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- FragmentTabhost+fragment+viewpager+FragmentActivity的使用
- Fragment和FragmentTabHost的混合使用
- Android学习之FragmentTabHost配合Fragment使用
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- 【FragmentTabHost】FragmentTabHost的使用
- qq主界面实现(三)-fragment与FragmentTabHost使用
- FragmentTabhost的使用(保存fragment的状态)
- 使用fragment嵌套FragmentTabHost实现筛选切换框架
- Fragment进阶2——使用FragmentTabhost代替Tabhost
- 使用FragmentTabHost,实现页签与Fragment联动
- 使用FragmentTabHost的时候,Fragment不能保持状态的解决方案
- Tab菜单栏:FragmentTabHost&ViewPager&Fragment的结合使用
- ASP.NET缓存 Cache之数据缓存
- bugzilla 在windows server 2008 企业版的安装
- android 如何监听返回键
- 上一篇的另一种解法
- 深入学习python (四) 用py2app来打包python文件
- drawerNavigation被fragment overlay, FragmentTabHost使用
- Android Chart图开源库AChartEngine教程
- JAVA之容器
- 蓝桥杯
- jzmq4.0 和jzmq2.1.0的安装完成后的测试
- 如何用API来创建斜板
- 控制台“图形学”(2)
- linux下vi命令大全
- 心得9--三步教你自己一个验证码工具