效果如图:

提示:下面是用的整个的图片

下面看代码:

//--------------------这是主页面布局文件-----------------------

  1. <?xml version="1.0" encoding="utf-8"?>
    <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"
    tools:context="shaoshan.bwie.com.shaoshan.activity.HomeActivity">
  2.  
  3. <FrameLayout
    android:id="@+id/home_frameLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"></FrameLayout>
  4.  
  5. <RadioGroup
    android:id="@+id/home_rg"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginBottom="2dp"
    android:background="#FFFFFF"
    android:orientation="horizontal">
  6.  
  7. <RadioButton
    android:id="@+id/home_rb_personalcenter"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/radio_person"
    android:button="@null" />
  8.  
  9. <RadioButton
    android:id="@+id/home_rb_search"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/radio_seach"
    android:button="@null" />
  10.  
  11. <RadioButton
    android:id="@+id/home_rb_home"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/radio_home"
    android:button="@null" />
  12.  
  13. <RadioButton
    android:id="@+id/home_rb_map"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/radio_map"
    android:button="@null" />
  14.  
  15. <RadioButton
    android:id="@+id/home_rb_more"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/radio_more"
    android:button="@null" /> </RadioGroup>
    </LinearLayout>

//--------------------这是我的主页面--------------------------

  1. package shaoshan.bwie.com.shaoshan.activity;
  2.  
  3. import android.app.FragmentManager;
    import android.app.FragmentTransaction;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
  4.  
  5. import shaoshan.bwie.com.shaoshan.R;
    import shaoshan.bwie.com.shaoshan.activity.fragment.HomePageFragment;
    import shaoshan.bwie.com.shaoshan.activity.fragment.MapFragment;
    import shaoshan.bwie.com.shaoshan.activity.fragment.MoreFragment;
    import shaoshan.bwie.com.shaoshan.activity.fragment.PersonalCenterFragment;
    import shaoshan.bwie.com.shaoshan.activity.fragment.SeekFragment;
  6.  
  7. public class HomeActivity extends AppCompatActivity {
  8.  
  9. private RadioButton home_rb_personalcenter;
    private RadioButton home_rb_search;
    private RadioButton home_rb_home;
    private RadioButton home_rb_map;
    private RadioButton home_rb_more;
    private RadioGroup home_rg;
  10.  
  11. @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
    //自动找控件 快捷键 Alt+insert 或 工具中Code——LayoutCreator
    initView();
  12.  
  13. }
  14.  
  15. private void initView() {
    home_rb_personalcenter = (RadioButton) findViewById(R.id.home_rb_personalcenter);
    home_rb_search = (RadioButton) findViewById(R.id.home_rb_search);
    home_rb_home = (RadioButton) findViewById(R.id.home_rb_home);
    home_rb_map = (RadioButton) findViewById(R.id.home_rb_map);
    home_rb_more = (RadioButton) findViewById(R.id.home_rb_more);
    home_rg = (RadioGroup) findViewById(R.id.home_rg);
    //创建Fragment
    FragmentManager homePagemanager = getFragmentManager();
    FragmentTransaction homePagetransaction = homePagemanager.beginTransaction();
    HomePageFragment homePageFragment = new HomePageFragment();
    homePagetransaction.replace(R.id.home_frameLayout, homePageFragment, "homePageFragment");
    homePagetransaction.commit();
    //设置默认选中
    home_rb_home.setChecked(true);
  16.  
  17. //设置RadioGroup的选中监听
    home_rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
    switch (group.getCheckedRadioButtonId()) {
    case R.id.home_rb_personalcenter:
    FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    PersonalCenterFragment personalCenterFragment = new PersonalCenterFragment();
    transaction.replace(R.id.home_frameLayout, personalCenterFragment, "personalCenterFragment");
    transaction.commit();
    break;
    case R.id.home_rb_search:
    FragmentManager seekmanager = getFragmentManager();
    FragmentTransaction seektransaction = seekmanager.beginTransaction();
    SeekFragment seekFragment = new SeekFragment();
    seektransaction.replace(R.id.home_frameLayout, seekFragment, "seekFragment");
    seektransaction.commit();
    break;
    case R.id.home_rb_home:
    FragmentManager homePagemanager = getFragmentManager();
    FragmentTransaction homePagetransaction = homePagemanager.beginTransaction();
    HomePageFragment homePageFragment = new HomePageFragment();
    homePagetransaction.replace(R.id.home_frameLayout, homePageFragment, "homePageFragment");
    homePagetransaction.commit();
    break;
    case R.id.home_rb_map:
    FragmentManager mapmanager = getFragmentManager();
    FragmentTransaction maptransaction = mapmanager.beginTransaction();
    MapFragment mapFragment = new MapFragment();
    maptransaction.replace(R.id.home_frameLayout, mapFragment, "mapFragment");
    maptransaction.commit();
    break;
    case R.id.home_rb_more:
    FragmentManager moremanager = getFragmentManager();
    FragmentTransaction moretransaction = moremanager.beginTransaction();
    MoreFragment moreFragment = new MoreFragment();
    moretransaction.replace(R.id.home_frameLayout, moreFragment, "moreFragment");
    moretransaction.commit();
    break;
    }
    }
    });
  18.  
  19. }
  20.  
  21. }

//------------下面这是我的背景选择器------------这只是其中一个,其他四个也类同,在drawable下创建XML文件--------------------

  1. <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
  2.  
  3. <item android:drawable="@drawable/bt_home" android:state_checked="false"></item>
    <item android:drawable="@drawable/bt_home2" android:state_checked="true"></item>
    </selector>
  4.  
  5. //-------------如下------------------------

注释:其中的几个Fragment我就不写了,很简单,创建一个类继承Fragment,实现onCreateView的方法

如下:这是其中一个

  1. public class MapFragment extends Fragment{
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.map_fragment_item,null);
    return view;
    }
    }

Android中的Fragment页面切换和selector选择器的更多相关文章

  1. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  2. Android中通过Fragment进行简单的页面切换

    首先是activity中的布局 <?xml version="1.0" encoding="utf-8"?> <androidx.constr ...

  3. ViewPager之Fragment页面切换

    一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPa ...

  4. Android 中关于Fragment嵌套Fragment的问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...

  5. 第54课 Qt 中的多页面切换组件

    1. 多页面切换组件(QTabWidget) (1)能够在同一个窗口中自由切换不同页面的内容 (2)是一个容器类型的组件,同时提供友好的页面切换方式 2. QTabWidget的使用方式 (1)在应用 ...

  6. Android笔记(十九) Android中的Fragment

    通常我们使用Activity来展示界面,但是在手机上界面可能显示的很好看,但在平板上,因为平板的屏幕非常大,手机的界面放在平板上可能会出现控件被拉长.控件之间间距变大等问题.为了更好的体验效果,在Ac ...

  7. Android中实现整个视图切换的左右滑动效果

    Android中提供了一个Gallary,可以实现图片或者文本的左右滑动效果. 如何让整个视图都能实现左右滑动,达到类似于Gallary的效果呢?可以直接用一个开源的ViewFlow来实现.   项目 ...

  8. android中viewPager+fragment实现的屏幕左右切换(进阶篇)

    Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等.可以看做是一个子Activity. 先看一下布局: 1 <LinearLayout xmlns:a ...

  9. 深度分析:Android中Mms设置页面更改短信中心号码流程

    相关控件初始化方法:showSmscPref private void showSmscPref() {         int count = MSimTelephonyManager.getDef ...

随机推荐

  1. .Net 第三方工具包整理

    抓取数据 Jumony (http://www.jumony.net/)是一个基于 .NET 技术,用 C# 编写的一个 HTML 引擎,其可以用来分析解读 HTML 文档中的数据,也可以修改和绑定数 ...

  2. 利用flashBack恢复误删除(delete)的表数据

    Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback q ...

  3. Quartz的cron表达式

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  4. Using YARN with Cgroups testing in sparkml cluster

    部署服务器: sparkml 集群 ########### sparkml ########## sparkml-node1 # yarn resource manager sparkml-node2 ...

  5. Golang--计算文件的MD5值

    参考: http://blog.csdn.net/u014029783/article/details/53762363 用法: $ go run 01.go -f 1.txt b9d228f114d ...

  6. ARM裸板调试思路总结、笔记

    1. 点灯 2. 串口打印 3. JTAG调试器3.1 命令行调试 3.2 源码级别的调试前提a. 程序必须已经重定位好,位于它的链接地址a.1 如果程序的链接地址是SDRAM, 使用openocd初 ...

  7. 发布webService

    创建webservices项目 1>创建web项目>添加新建项>webService>确认 注:webservices项目相当于就是UI ******************* ...

  8. Tomcat server.xml UTF-8配置

    Tomcat server.xml UTF-8配置 <Connector port="8080" maxThreads="150" minSpareThr ...

  9. .net core 12

  10. log设置

    1.log的设置方式 .在 runtime setting中可以设置log的生成方式:默认的log方式:Enable logging选中,log option是Send messages only w ...