解决Fragment向下兼容问题
2014-04-28 13:17
330 查看
Fragment向下兼容问题
由于Fragment是在android api 4.0之后出现的,所以会出现兼容性的问题,如果想继续使用的话则需要在AndroidMainfest.xml中修改android的最低版本为11。如果这样的话在一定程度会造成不变,所以为了解决这问题,所以就要让Fragment向下兼容。1)首先在生成的activity_main.xml中添加如下代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tab1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="生活新闻"/> <TextView android:id="@+id/tab2" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="军事新闻"/> <TextView android:id="@+id/tab3" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="娱乐新闻"/> <TextView android:id="@+id/tab4" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="百度新闻"/> </LinearLayout> <LinearLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity=”android” android:orientation="vertical"> </LinearLayout> </LinearLayout> |
fragment1.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:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="生活新闻"/> </LinearLayout> |
<?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:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="军事新闻"/> </LinearLayout> |
<?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:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="娱乐新闻"/> </LinearLayout> |
<?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:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="百度新闻"/> </LinearLayout> |
Fragmen1.java
package zjh.android.fragmenttab; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment1,null); } } |
package zjh.android.fragmenttab; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment2 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment2,null); } } |
package zjh.android.fragmenttab; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment3 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment3,null); } } |
package zjh.android.fragmenttab; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment4 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment4,null); } } |
package zjh.android.fragmenttab; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class MainActivity extends FragmentActivity implements OnClickListener { private TextView tab1,tab2,tab3,tab4; FragmentManager fm = null ; FragmentTransaction ft = null ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_main); this.tab1 = (TextView)super.findViewById(R.id.tab1); this.tab2 = (TextView)super.findViewById(R.id.tab2); this.tab3 = (TextView)super.findViewById(R.id.tab3); this.tab4 = (TextView)super.findViewById(R.id.tab4); this.tab1.setOnClickListener(this); this.tab2.setOnClickListener(this); this.tab3.setOnClickListener(this); this.tab4.setOnClickListener(this); fm = super.getSupportFragmentManager(); ft = fm.beginTransaction(); ft.replace(R.id.content,new Fragment1()); ft.commit(); } @Override public void onClick(View view) { ft = fm.beginTransaction(); switch (view.getId()) { case R.id.tab1: ft.replace(R.id.content,new Fragment1()); break; case R.id.tab2: ft.replace(R.id.content,new Fragment2()); break; case R.id.tab3: ft.replace(R.id.content,new Fragment3()); break; case R.id.tab4: ft.replace(R.id.content,new Fragment4()); break; } ft.commit(); } } |
相关文章推荐
- Win7向下兼容性问题的一种解决方法
- Win7向下兼容性问题的一种解决方法
- 解决Js解析xml浏览器不兼容问题及省市区三级联动实现
- Android Fragment多层嵌套重影问题的解决方法
- PHP解决浏览器 下载文件 中文名称乱码问题--兼容大多浏览器
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8
- 解决IE7兼容模式下Extjs显示问题
- 手写一个关于title属性自定义提示框解决浏览器(IE)不兼容问题
- ie6,ie7,ie8与火狐互相不兼容问题解决
- OL有序列表 IE 与 非IE 浏览器兼容问题解决
- 完美解决IE兼容模式问题
- Css 解决各种兼容问题
- 【译】用Fragment解决屏幕旋转(状态发生变化)状态不能保持的问题
- 快速解决fragment叠加问题
- html5新标签【placeholder】解决浏览器低版本不兼容问题
- Android ADT+eclipse安装及兼容问题解决方案(不太准确)
- 巧妙解决程序运行在兼容模式下时window版本欺诈问题
- ie9不支持line-height_ie9不支持字体垂直居中兼容问题解决篇_IE9中字体不能垂直居中解决方法
- 解决Ubuntu 12.04更新后 ”系统的网络服务与此版本的网络管理器不兼容“问题
- 解决Fragment中使用ViewPager时,ViewPager里的Fragment错位和空白问题。