Fragement替换Tabhost,实现侧滑功能
来源:互联网 发布:软件体系结构的定义 编辑:程序博客网 时间:2024/06/05 00:36
实现功能,首先用Fragmnt替换Tabhost,然后可以实现侧滑功
同样第一步要要实现几个功能就写几个Fragement继承Fragemnt,XML也是一样(内容几个随便添加例:Textview)、
第二步写Fragment继承Fragmnet
下面具体代码实现:
先写出三个Fragmnet
第一个
package com.example.jjj;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragmentMain extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {return inflater.inflate(R.layout.fragmentmain, container, false);}}
<?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" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="这是首页"/></LinearLayout>第二个
package com.example.jjj;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragmentSearch extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { return inflater.inflate(R.layout.fragmentsearch, container, false);}}
<?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="wrap_content" android:orientation="vertical" android:background="@android:color/holo_blue_bright"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="这是搜索" /></LinearLayout>
第三个
package com.example.jjj;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragmentSetting extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragmentsetting, container, false); return view;}}
<?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" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="这是设置"/></LinearLayout>
三个都写完了开始写最后一个也是最关键的一个:
package com.example.jjj;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.util.Log;import android.widget.ListView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.RadioGroup.OnCheckedChangeListener;public class FragMentActivty extends FragmentActivity {private RadioGroup mRadioGroup;FragmentMain mFragmentMain;FragmentSearch mFragmentSearch;FragmentSetting mFragmentSetting;ViewPager mViewPager;private List<Fragment> mList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.fragment);mRadioGroup = (RadioGroup) findViewById(R.id.bottomrg);mViewPager = (ViewPager) findViewById(R.id.fragmentfram);mFragmentMain = new FragmentMain();mFragmentSearch = new FragmentSearch();mFragmentSetting = new FragmentSetting();mList = new ArrayList<Fragment>();mList.add(mFragmentMain);mList.add(mFragmentSearch);mList.add(mFragmentSetting);//监听侧滑mViewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {Log.e("onPageSelected>>>>>", "onPageSelected"); ((RadioButton) mRadioGroup.getChildAt(arg0)).toggle();}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {Log.e("onPageScrolled>>>>>", "onPageScrolled");}@Overridepublic void onPageScrollStateChanged(int arg0) {Log.e("onPageScrollStateChanged>>>>>", "onPageScrollStateChanged");}});//监听点击事件mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {//android.support.v4.app.FragmentTransaction transaction = getSupportFragmentManager()//.beginTransaction();switch (checkedId) {case R.id.raidoTab1:mViewPager.setCurrentItem(0);break;case R.id.raidoTab2:mViewPager.setCurrentItem(1);break;case R.id.raidoTab3:mViewPager.setCurrentItem(2);break;}}});//打开后默认为第一个 ((RadioButton) mRadioGroup.getChildAt(0)).toggle();}}}
还是补上对应的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.support.v4.view.ViewPager android:id="@+id/fragmentfram" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" /> <RadioGroup android:id="@+id/bottomrg" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" > <RadioButton android:id="@+id/raidoTab1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/ye" android:button="@null" android:drawableTop="@drawable/home_on" android:text="首页" /> <RadioButton android:id="@+id/raidoTab2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/ye" android:button="@null" android:text="美食" /> <RadioButton android:id="@+id/raidoTab3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/home_off" android:button="@null" android:drawableTop="@drawable/home_on" android:text="娱乐" /> </RadioGroup></LinearLayout>
这样就可以实现一个简单的侧滑功能,这里可能也有一个图标和点击按钮不对称,需要自己另外去调
0 0
- Fragement替换Tabhost,实现侧滑功能
- android Tabhost部件(三)--使用自定义view和fragement实现类似TabHost样式
- fragment + viewpager 实现tabhost功能
- FragmentActivity+FragmentTabHost+Fragement替代TabActibvity+TabHost+Activity
- FragmentActivity+FragmentTabHost+Fragement替代TabActibvity+TabHost+Activity
- 13-7-5 android Tabhost功能实现
- Fragment实现TabHost标签切换功能
- 使用Fragment替换TabHost
- Viewpager+Fragment替换TabHost
- Java实现查找替换功能
- Fragement
- fragement
- Fragement
- Fragement
- Fragement
- Viewpager和Fragement实现翻页
- 通过fragment实现tabhost切换页面的功能
- 用三种不同的方式实现TabHost功能(一)
- 图像主色的提取
- vim 批量查找替换
- wait_event的实现
- android 报错
- SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid、数据库日志文件丢失
- Fragement替换Tabhost,实现侧滑功能
- java Collection框架 HashMap 和 TreeMap
- (转载)linux命令之三十八killall命令
- FusionCharts3.5学习经验
- Spring整合JMS——基于ActiveMQ实现
- JavaSwing也惊艳
- WPF中资源的引用方法
- Android2.3.4在OK6410上的移植
- KDB应用指南