ANDROID学习记录(1)--FragmentTabHost 和Fragment的切换。
2015-12-18 19:18
465 查看
当主页使用Activity的intent跳转时,会产生activity的堆栈,对于首页和切换频繁的页面界面呈现效果会非常的差。
可以通过Fragment进行切换。
Android加入了FragmentTabHost的控件,可以简单的实现Fragment的切换并实现Fragment切换时的监听。
可以通过Fragment进行切换。
Android加入了FragmentTabHost的控件,可以简单的实现Fragment的切换并实现Fragment切换时的监听。
布局代码如下:
<FrameLayout android:id="@+id/realtabcontent" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" /> <android.support.v4.app.FragmentTabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="wrap_content" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="0" /> </android.support.v4.app.FragmentTabHost>
主java程序的呈现
private Class mFragmentArray[] = {HomeActivityFragment.class, FileMainActivity.class, DeviceConfigFragment.class};
private String mTextArray[] = {"首页", "传输", "我的"};
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); initView(); } /** * 初始化组件 */ private void initView() { mLayoutInflater = LayoutInflater.from(this); // 找到TabHost mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); // 得到fragment的个数 int count = mFragmentArray.length; for (int i = 0; i < count; i++) { // 给每个Tab按钮设置图标、文字和内容 TabHost.TabSpec tabSpec = mTabHost.newTabSpec(mTextArray[i]) .setIndicator(getTabItemView(i)); // 将Tab按钮添加进Tab选项卡中 mTabHost.addTab(tabSpec, mFragmentArray[i], null); // 设置Tab按钮的背景 mTabHost.getTabWidget().getChildAt(i); } mTabHost.setOnTabChangedListener( new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { //do what you want to do } } ); } /** * 给每个Tab按钮设置图标和文字 */ private View getTabItemView(int index) { View view = mLayoutInflater.inflate(R.layout.activity_home_bottombar, null); ImageView imageView = (ImageView) view.findViewById(R.id.imageview); imageView.setImageResource(mImageArray[index]); TextView textView = (TextView) view.findViewById(R.id.textview); textView.setText(mTextArray[index]); retu b01b rn view; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories