效果图:

图1:

图2:

图3:

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"><LinearLayoutandroid:id="@+id/ly_main"android:layout_width="match_parent"android:layout_height="0dp"android:orientation="vertical"android:layout_weight="9"></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"><RadioGroupandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#03b8ff"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><RadioButtonandroid:id="@+id/rb_message"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:text="消息"android:button="@null"android:textSize="20dp"android:gravity="center"android:textColor="#fff"/><RadioButtonandroid:id="@+id/rb_linkman"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:text="联系人"android:button="@null"android:textSize="20dp"android:gravity="center"android:textColor="#fff"/><RadioButtonandroid:id="@+id/rb_say"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:text="说说"android:button="@null"android:textSize="20dp"android:gravity="center"android:textColor="#fff"/></LinearLayout></RadioGroup></LinearLayout></LinearLayout>

MianActivity.java:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {private RadioButton rbMessage,rbSay,rbLinkman;private FragmentManager manager;private FragmentTransaction transaction;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();     //  初始化控件//  创建布局管理器对象manager = getSupportFragmentManager();transaction = manager.beginTransaction();   // 获得事务对象,并启动事务transaction.add(R.id.ly_main,new LinkmanFragment());    //  默认打开联系人界面,第一个参数是这个 Fragment 要依赖的布局,第二个是对应的 Fragmenttransaction.commit();       //  提交事务}private void initView() {rbMessage = findViewById(R.id.rb_message);rbLinkman = findViewById(R.id.rb_linkman);rbSay = findViewById(R.id.rb_say);rbSay.setOnClickListener(this);rbLinkman.setOnClickListener(this);rbMessage.setOnClickListener(this);}@Overridepublic void onClick(View v) {transaction = manager.beginTransaction();       //  因为要切换界面,所以要重新获取一次事务对象switch (v.getId()){case R.id.rb_message:/***        利用replace方法,达到滑动切换界面的目的*        第一个参数是:   这个 Fragment 要放置的布局界面*        第二个参数是:   对应的 Fragment*/transaction.replace(R.id.ly_main,new MessageFragment());break;case R.id.rb_linkman:transaction.replace(R.id.ly_main,new LinkmanFragment());break;case R.id.rb_say:transaction.replace(R.id.ly_main,new SayFragment());break;}transaction.commit();       //  重新提交事务}
}

右键 java / new / fragment / fragment(Bank),就会在创建类的基础上自动创建 xml文件:

按照上面的步骤,创建三个 Fragment,分别为: MessageFragment , LinkmanFragment, SayFragment:

这三个代码基本上一模一样,我就列举其中一个就好了:

MessageFragment.java

public class MessageFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_message, container, false);}
}

XML 布局代码也基本差不多一样,我就列举一个就好
fragment_message.xml :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"tools:context=".MessageFragment"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="消息"android:textSize="40dp"/></RelativeLayout>

最后点击运行即可~!

Android Fragment之间的切换相关推荐

  1. 安卓开发fragment之间的切换_Android开发必会的组件化技术—Android架构和提升必备...

    很多时候我们开发的时候,都需要新建项目,然后一个个底层模块去写,比如各种常见View,工具类,缓存模块等,经常进行这种重复的搬砖工作.主要还是因为我们在平时的开发过程中就没有注意分层.分模块.资源随意 ...

  2. android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...

    在android应用中,多屏滑动是一种很常见的风格,没有采用viewpager的代码实现会很长,如果采用ViewPager,代码就会短很多,但是使用ViewPager也有弊端:需要导入android- ...

  3. android fragment面试,Android fragment之间传递数据的方式?

    方法一: 1.在MainFragment中设置一个setData()方法,在方法中设置更改按钮名称; //MainFragment.java文件中public void setData(String ...

  4. android fragment+ FragmentTabHost+viewpager 切换状态不保存的问题

    转载请注明出处:http://blog.csdn.net/djy1992/article/details/46674169 @author dujinyang 难得有时间上来写博客. fragment ...

  5. 外部Activity和fragment之间的切换,传值

    下,Activity A /*下6h,*//*传值*//*跳转到Activity的Fragment中*/ Intent intent = new Intent(); intent.putExtra(& ...

  6. android tab之间滑动切换界面功能

    1. onTouchListener();                       //捕捉touch事件,比如说onDown 需要将可滑动的控件加上两个方法:(1)view.setOnTouch ...

  7. 基于android的网络音乐播放器-添加viewpager和fragment实现滑动切换多个界面(二)

    作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...

  8. android tab pageview,Android Fragment在ViewPager中到底经历了什么?

    2017年05月30 最后的懒加载写的不好,推荐请叫我大苏同学写的Fragment懒加载博客, [Android]再来一篇Fragment的懒加载(只加载一次哦) 在大苏同学的博客评论里,看到了另一个 ...

  9. Android中fragment之间和Activity的传值、切换

    介绍: 功能介绍:通过一个activity下方的三个按钮,分别是发送消息(sendButton).聊天记录(chatButton).常用语(commonButton).当单击按钮是,来切换上方的fra ...

  10. Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信...

    以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3360938.html 如新浪微博下面的标签切换功能,我以前也写过一篇博文(http:/ ...

最新文章

  1. 【怎样写代码】工厂三兄弟之工厂方法模式(三):解决方案 II
  2. C++(十)——模板(上)
  3. [问答]-EL1t和EL1h中的后缀t和h分别是什么意思
  4. 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解
  5. Java 8中的可重复注释
  6. gdb调试多进程和多线程命令
  7. SHT知识库操作要点
  8. 不确定下钻数的循环(部门下所属部门 多层下钻)
  9. 7-130 古风排版 (20 分)
  10. .NET MVC扩展UrlHelper支持CDN
  11. x内存满白苹果解决_苹果最佳MacBook和Mac:顶级苹果台式机和笔记本电脑
  12. GoWeb开发_Iris框架讲解(二):Get、Post、Put等请求及数据返回格式
  13. Introduction to SAP CPI
  14. VirtualBox Linux 安装增强工具
  15. 这电商代运营公司两月打造一个带泪的超级单品
  16. matlab中如何使用help,MATLAB中如何使用help?怎样看matlab的help
  17. Java多线程--1--stop方法
  18. golang语言chromedp包介绍以及如何弹出浏览器进行调试
  19. 记忆力训练软件测试自学,[记忆力训练软件]记忆力训练软件有哪些?
  20. 红蓝对抗--sliver 搭建

热门文章

  1. 解决图片三像素的问题
  2. elasticsearch的java搜索语法
  3. 如何修改搜索框中的cancel button的颜色
  4. Python实现Excel与XML之间的转换
  5. 1,SFDC 开发篇 - 类对象和SOQL查询
  6. enctype=multipart/form-data的表单无法获取表单中除了type=file以外的其他参数 commons-fileupload 获取除file外其他参数...
  7. 为什么有了scanf还要getchar()
  8. 刘知远老师的“灵魂发问”:关系抽取到底在乎什么?
  9. 人民日报:研究生期间该懂的47件事,你认可吗?
  10. 周志华教授:长文详细教你如何做研究与写论文?