Android中的Fragment页面切换和selector选择器

效果如图:
提示:下面是用的整个的图片
下面看代码:
//--------------------这是主页面布局文件-----------------------
<?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"> <FrameLayout
android:id="@+id/home_frameLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></FrameLayout> <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"> <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" /> <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" /> <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" /> <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" /> <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>
//--------------------这是我的主页面--------------------------
package shaoshan.bwie.com.shaoshan.activity; 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; 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; public class HomeActivity extends AppCompatActivity { 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; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
//自动找控件 快捷键 Alt+insert 或 工具中Code——LayoutCreator
initView(); } 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); //设置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;
}
}
}); } }
//------------下面这是我的背景选择器------------这只是其中一个,其他四个也类同,在drawable下创建XML文件--------------------
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bt_home" android:state_checked="false"></item>
<item android:drawable="@drawable/bt_home2" android:state_checked="true"></item>
</selector> //-------------如下------------------------

注释:其中的几个Fragment我就不写了,很简单,创建一个类继承Fragment,实现onCreateView的方法
如下:这是其中一个
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选择器的更多相关文章
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...
- Android中通过Fragment进行简单的页面切换
首先是activity中的布局 <?xml version="1.0" encoding="utf-8"?> <androidx.constr ...
- ViewPager之Fragment页面切换
一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPa ...
- Android 中关于Fragment嵌套Fragment的问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...
- 第54课 Qt 中的多页面切换组件
1. 多页面切换组件(QTabWidget) (1)能够在同一个窗口中自由切换不同页面的内容 (2)是一个容器类型的组件,同时提供友好的页面切换方式 2. QTabWidget的使用方式 (1)在应用 ...
- Android笔记(十九) Android中的Fragment
通常我们使用Activity来展示界面,但是在手机上界面可能显示的很好看,但在平板上,因为平板的屏幕非常大,手机的界面放在平板上可能会出现控件被拉长.控件之间间距变大等问题.为了更好的体验效果,在Ac ...
- Android中实现整个视图切换的左右滑动效果
Android中提供了一个Gallary,可以实现图片或者文本的左右滑动效果. 如何让整个视图都能实现左右滑动,达到类似于Gallary的效果呢?可以直接用一个开源的ViewFlow来实现. 项目 ...
- android中viewPager+fragment实现的屏幕左右切换(进阶篇)
Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等.可以看做是一个子Activity. 先看一下布局: 1 <LinearLayout xmlns:a ...
- 深度分析:Android中Mms设置页面更改短信中心号码流程
相关控件初始化方法:showSmscPref private void showSmscPref() { int count = MSimTelephonyManager.getDef ...
随机推荐
- LINUX利用Speedtest测速
那么远程服务器呢?要知道大多数远程服务器是没有浏览器可以打开web页面的.用浏览器打开网页测速的瓶颈就在此,你不能按计划的对服务器进行定期的常规测试.这时需要到一个名为Speedtest-cli的软件 ...
- 数数字(Digit Counting,ACM/ICPC Danang 2007,UVa1225)
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char s[10000]; in ...
- Font-Awesome IIS下不显示问题
解决方法: 在IIS设置中添加一个IMME fileExtension: .woff mimeType:application/x-font-woff
- uiwebview 加载html时字体变小 加载前或加载后改变字体大小
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #6122ae } p.p2 { margin: 0.0px 0. ...
- javaScript 比较数字大小
当你需要通过js来比较数字大小的时候千万不要这样 a>b,这样有可能会把a,b当作字符串来比较,最好用函数来转换下 例如: function sorterFunc(a,b){ var aNum= ...
- Mysql表结构定义及相关语法
mysql语法及相关命令1.每个sql命令都需要使用分号来完成2.可以将一个命令写成多行3.可以通过\c来取消本行命令4.可以通过\g.exit.ctrl+c或者quit来退出当前客户端5.可以通过使 ...
- selenium grid的使用与配置
一.selenium grid的组成与作用:由一个集线器hub和多个客户机node组成,如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的测 ...
- 解题报告8VC Venture Cup 2017 - Elimination Round
题目链接:http://codeforces.com/contest/755 本蒟蒻做了半天只会做前两道题.. A. PolandBall and Hypothesis 题意:给出n,让你找出一个m, ...
- 设计模式 -- 责任链模式或者叫职责链模式(Chain of Responsibility(CoR))
什么是链?前后相连,一个连接下一个,其中包括多个节点,其实责任链模式也类似,他是多个对象之间相互关联,下一个对象的操作由上一个对象关联下来,上一个对象有个方法用于指向其他对象.职责链之间的前后关系是可 ...
- java 用双向链表实现SJBLinkedList
public class SJBLinkedList{ private Node first; private Node last; private int size; public int size ...