public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {
private ArrayList<Fragment> arrayList;
private RadioGroup rg;
private RadioButton[] radioButtons;
private FragmentManager manager;
private int count=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
arrayList = new ArrayList<>();
NewsFragment fragment1 = new NewsFragment();
AppraisalFragment fragment2 = new AppraisalFragment();
PictureFragment fragment3 = new PictureFragment();
CommentFragment fragment4 = new CommentFragment();
arrayList.add(fragment1);
arrayList.add(fragment2);
arrayList.add(fragment3);
arrayList.add(fragment4);
radioButtons=new RadioButton[rg.getChildCount()];
for (int i = 0; i < radioButtons.length; i++) {
radioButtons[i]= (RadioButton) rg.getChildAt(i);
}
manager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=manager.beginTransaction();
fragmentTransaction.add(R.id.main_layout,arrayList.get(0));
fragmentTransaction.commit();
radioButtons[0].setChecked(true);
rg.setOnCheckedChangeListener(this);

}

private void initView() {
rg = (RadioGroup) findViewById(R.id.rg);
}

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction transaction=manager.beginTransaction();
for (int i = 0; i < radioButtons.length; i++) {
if (radioButtons[i].getId()==checkedId){
if (arrayList.get(i).isAdded()){
transaction.show(arrayList.get(i)).hide(arrayList.get(count)).commit();
}else {
transaction.add(R.id.main_layout,arrayList.get(i)).hide(arrayList.get(count)).commit();
}
count=i;
}
}

}
}

//布局
<?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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.douyu.main.MainActivity">
    <FrameLayout
        android:layout_weight="1"
        android:id="@+id/main_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </FrameLayout>

    <RadioGroup
        android:id="@+id/rg"
        android:background="@android:color/white"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="56dp">

        <RadioButton
            android:textColor="@color/textcolor"
            android:gravity="center"
            android:text="首页"
            android:layout_marginTop="2dp"
            android:button="@null"
            android:drawableTop="@drawable/homepage_item"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <RadioButton
            android:textColor="@color/textcolor"
            android:gravity="center"
            android:text="分类"
            android:layout_marginTop="2dp"
            android:drawableTop="@drawable/classify_item"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <RadioButton
            android:textColor="@color/textcolor"
            android:gravity="center"
            android:text="关注"
            android:layout_marginTop="2dp"
            android:drawableTop="@drawable/attention_item"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <RadioButton
            android:textColor="@color/textcolor"
            android:gravity="center"
            android:text="鱼吧"
            android:layout_marginTop="2dp"
            android:drawableTop="@drawable/bar_item"
            android:button="@null"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <RadioButton
            android:textColor="@color/textcolor"
            android:gravity="center"
            android:text="我的"
            android:layout_marginTop="2dp"
            android:layout_weight="1"
            android:drawableTop="@drawable/user_item"
            android:button="@null"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </RadioGroup>

</LinearLayout>

//text文字颜色,在res下创建color文件夹
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@android:color/black" android:state_checked="false"/>
    <item android:color="#ff6600" android:state_checked="true"/>

</selector>

fragment加radio不可滑动的更多相关文章

  1. iOS开发——加载、滑动翻阅大量图片解决方案详解

    加载.滑动翻阅大量图片解决方案详解     今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清 ...

  2. Android系列之Fragment(一)----Fragment加载到Activity当中

    Android上 的界面展示都是通过Activity实现的,Activity实在是太常用了.但是Activity也有它的局限性,同样的界面在手机上显示可能很好看, 在平板上就未必了,因为平板的屏幕非常 ...

  3. android开发之Fragment加载到一个Activity中

    Fragments 是android3.0以后添加的.主要是为了方便android平板端的开发.方便适应不同大小的屏幕.此代码是为了最简单的Fragment的使用,往一个Activity中添加Frag ...

  4. js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的

    js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...

  5. iOS开发之加载、滑动翻阅大量图片优化解决方案

    本文转载至 http://mobile.51cto.com/iphone-413267.htm 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制.我要详 ...

  6. 利用纯CSS美化checkbox和radio和滑动按钮的实现

    W3C提供的CheckBox和radio的原始样式非常的丑,而且在不同的额浏览器表现还不一样,使用常规的方法添加样式没法进行修改样式 一, 单选按钮 <html> <head> ...

  7. Fragment加载方式与数据通信

    一.加载方式 1. 静态加载 1.1 加载步骤 (1) 创建fragment:创建自定义Fragment类继承自Fragment类,同时将自定义Fragment类与Fragment视图绑定(将layo ...

  8. Android Demo 下拉刷新+加载更多+滑动删除

    小伙伴们在逛淘宝或者是各种app上,都可以看到这样的功能,下拉刷新和加载更多以及滑动删除,刷新,指刷洗之后使之变新,比喻突破旧的而创造出新的,比如在手机上浏览新闻的时候,使用下拉刷新的功能,我们可以第 ...

  9. Swiper 轮播插件 之 动态加载无法滑动

    1.原因:轮播图未完全动态加载完成,即初始化 2.方法一:ajax链式编程 $.ajax({ type: "get", url: serviceURL + "/listB ...

  10. ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现

    注意:有关Fragment的方法和ViewPager的全部是android.support.v4包的,否则会报很多的错误 MainActivity: package com.zzw.fragmentt ...

随机推荐

  1. list.ftl

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...

  2. 【Direct3D 12】学习准备

    学习资料 微软官方文档地址: https://docs.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-graphics 左下角可以根 ...

  3. mysql错误号码2003 can't connect to mysql server on 'localhost' (0)解决方案

    找到mysql安装目录下的Bin目录,在cmd中进入这个目录,运行net start mysql 却显示服务名无效 所以此时 首先在MYSQL的安装目录bin下,输入mysqld --install ...

  4. Docker之Elastic Search&Kibana保姆级别安装

    Docker之Elastic Search&Kibana保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) ...

  5. Vue项目中怎样把参数(对象)转成formdata传给后端? 封装函数 亲测有效

    普通传参格式如下: 想要的formData参数格式如下: 首先封装参数(对象)转换为formData格式 getFormData(object) { const formData = new Form ...

  6. Angular响应式表单验证输入(跨字段验证、异步API验证)

    一.跨字段验证 1.新增验证器 import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; exp ...

  7. 将【jar包、bat、其他文件】注册到windows服务的三种方法

    将[jar包.bat.其他文件]注册到windows服务的三种方法 1.instsrv.exe和srvany.exe 1.下载配置instsrv和srvany 下载地址:https://dl.pcon ...

  8. Selenium无浏览器页面执行测试用例—静默执行

    在执行WebUI自动化用例的时候,经常需要不打开浏览器执行自动化测试,这时就需要用到浏览器的静默执行.浏览器静默执行要点:1.定义Chrome的选项,两种方式任选 chrome_options = w ...

  9. Python 堆、栈和队列详解

    队列: 1.队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进 ...

  10. git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚

    目录 git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚 昨日内容回顾 今日内容概要 今日内容详细 1 git多分支 2 git远程仓库 3 ssh方 ...