fragment加radio不可滑动
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不可滑动的更多相关文章
- iOS开发——加载、滑动翻阅大量图片解决方案详解
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清 ...
- Android系列之Fragment(一)----Fragment加载到Activity当中
Android上 的界面展示都是通过Activity实现的,Activity实在是太常用了.但是Activity也有它的局限性,同样的界面在手机上显示可能很好看, 在平板上就未必了,因为平板的屏幕非常 ...
- android开发之Fragment加载到一个Activity中
Fragments 是android3.0以后添加的.主要是为了方便android平板端的开发.方便适应不同大小的屏幕.此代码是为了最简单的Fragment的使用,往一个Activity中添加Frag ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- iOS开发之加载、滑动翻阅大量图片优化解决方案
本文转载至 http://mobile.51cto.com/iphone-413267.htm 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制.我要详 ...
- 利用纯CSS美化checkbox和radio和滑动按钮的实现
W3C提供的CheckBox和radio的原始样式非常的丑,而且在不同的额浏览器表现还不一样,使用常规的方法添加样式没法进行修改样式 一, 单选按钮 <html> <head> ...
- Fragment加载方式与数据通信
一.加载方式 1. 静态加载 1.1 加载步骤 (1) 创建fragment:创建自定义Fragment类继承自Fragment类,同时将自定义Fragment类与Fragment视图绑定(将layo ...
- Android Demo 下拉刷新+加载更多+滑动删除
小伙伴们在逛淘宝或者是各种app上,都可以看到这样的功能,下拉刷新和加载更多以及滑动删除,刷新,指刷洗之后使之变新,比喻突破旧的而创造出新的,比如在手机上浏览新闻的时候,使用下拉刷新的功能,我们可以第 ...
- Swiper 轮播插件 之 动态加载无法滑动
1.原因:轮播图未完全动态加载完成,即初始化 2.方法一:ajax链式编程 $.ajax({ type: "get", url: serviceURL + "/listB ...
- ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现
注意:有关Fragment的方法和ViewPager的全部是android.support.v4包的,否则会报很多的错误 MainActivity: package com.zzw.fragmentt ...
随机推荐
- Experience Cloud
通过Apex的方式上传 Topic: String communityId = [Select Id from Network where Name = 'MobileMNOCS'].Id; Inte ...
- vue 滑动到指定位置
在Vue中,有三种方式可以实现H5页面滑动至指定位置 方法1: //先获取目标位置距离 mounted() { this.$nextTick(() => { setTimeout(() => ...
- speedtest测速
wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py chmod a+rx speedtest.py mv speed ...
- 通过ESP8266WiFi模块调用“心知天气”接口 获取天气信息
在分析代码之前,首先介绍 ArduinoJson 库的安装及"心知天气"的ID申请 一.安装 ArduinoJson 库 进入 Arduino 开发环境后,选择菜单栏-->工 ...
- [OC] UIWebView APIs 的替换 以及转用WKWebView后的部分问题
一.检查工程中的 UIWebView 1.打开终端,cd + 把项目的工程文件所在文件夹拖入终端(即 得到项目的工程文件所在的路径) 2.输入以下命令: grep -r UIWebView . 注意最 ...
- css animation 复刻
今天做了一个七巧板的小页面,发现对于css动画一些内容又有了新的认识,所以以下准备复习一遍 首先一共有以下属性 @keyframes 如果您在 @keyframes 规则中指定了 CSS 样式,动画将 ...
- [菜鸡随笔-2]用mv代替rm安全地进行删除操作的小技巧
牢骚和背景介绍: rm -rf /*的梗 相信大家都听过笑过,我不止听过笑过,还不小心试过(不要熬夜写东西!).为此丢了我一周的心血,和40块钱(买u盘跑网吧下载引导文件).所幸,这只是在自己的机器上 ...
- vs MFC c++ rc文件的dilog打不开,显示加载失败
最近在做一个项目,在vs2012上面用mfc画界面,由于没有确定好且不熟悉这个架构,控件类型变了又变,本人又是个有点强迫症的性格所以删掉了一些不用的控件,导致的结果就是上面说的,dialog打不开报加 ...
- 25_Webapck原理
Webpack源代码解析 webpack其实也就是一个函数的调用,返回一个Compile的对象,再调用Compile的run方法就可以完成项目的构建 那么我们肯定是先要从webpack这个函数去理解它 ...
- 简单了解如何自己动手制作RPM包
导读 RPM文件在Linux系统中的安装最为简便.以著名的图像处理软件XV为例,其RPM包xv-3.10a-13.i386.rpm可以在该程序的主页中下载取得. 我们介绍如何自己动手制作RPM包.0, ...