Android底部Fragment切换
来源:互联网 发布:小说编写软件 编辑:程序博客网 时间:2024/06/05 04:21
XML:
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout 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:id="@+id/dl_chehua" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.gengqiang.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="9" /> <RadioGroup android:id="@+id/group" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:orientation="horizontal"> <RadioButton android:id="@+id/but1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:gravity="center" android:text="首页" /> <RadioButton android:id="@+id/but2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:gravity="center" android:text="头条" /> <RadioButton android:id="@+id/but3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:gravity="center" android:text="分享圈" /> <RadioButton android:id="@+id/but4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:gravity="center" android:text="个人社区" /> </RadioGroup> </LinearLayout> <TextView android:id="@+id/chehua" android:layout_width="300dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#ff00" android:text="欢迎来到侧滑" android:textSize="20sp" /></android.support.v4.widget.DrawerLayout>
逻辑代码:
package com.example.gengqiang;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.provider.Settings;import android.support.annotation.IdRes;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.FrameLayout;import android.widget.RadioGroup;import android.widget.TextView;import android.widget.Toast;import com.example.gengqiang.Frgament.BlankFragment01;import com.example.gengqiang.Frgament.BlankFragment02;import com.example.gengqiang.Frgament.BlankFragment03;import com.example.gengqiang.Frgament.BlankFragment04;import com.example.gengqiang.Tools.NetWorkInfo;import java.util.ArrayList;public class MainActivity extends AppCompatActivity { //定义需要的属性 private ArrayList<Fragment> list; private DrawerLayout drawerLayout; private RadioGroup group; private TextView chehua; private BlankFragment01 blankFragment01; private BlankFragment02 blankFragment02; private BlankFragment03 blankFragment03; private BlankFragment04 blankFragment04; private FragmentManager fragmentManager; private FrameLayout frameLayout; private AlertDialog show; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //网络判断,并跳转到系统设置 int netWorkInfo = NetWorkInfo.getNetWorkInfo(MainActivity.this); if (netWorkInfo == -1) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("网络异常!"); builder.setMessage("前往系统设置,设置网络?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Settings.ACTION_SETTINGS); startActivity(intent); show.dismiss(); } }); builder.setNegativeButton("取消", null); show = builder.show(); } else { Toast.makeText(this, "网络正常", Toast.LENGTH_SHORT).show(); }//将所有Fragment实例化,并添加到集合 fragmentManager = getSupportFragmentManager(); list = new ArrayList<>(); blankFragment01 = new BlankFragment01(); blankFragment02 = new BlankFragment02(); blankFragment03 = new BlankFragment03(); blankFragment04 = new BlankFragment04(); list.add(blankFragment01); list.add(blankFragment02); list.add(blankFragment03); list.add(blankFragment04); //将所有的Fragment添加到占位布局,并设置默认显示 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .add(R.id.viewpager, list.get(0)) .add(R.id.viewpager, list.get(1)) .add(R.id.viewpager, list.get(2)) .add(R.id.viewpager, list.get(3)) .show(list.get(0)) .hide(list.get(1)) .hide(list.get(2)) .hide(list.get(3)) .commit();//初始化布局中的控件 drawerLayout = (DrawerLayout) findViewById(R.id.dl_chehua); group = (RadioGroup) findViewById(R.id.group); chehua = (TextView) findViewById(R.id.chehua); frameLayout = (FrameLayout) findViewById(R.id.viewpager); //侧滑点击关闭 chehua.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.closeDrawer(chehua); group.check(R.id.but4); } }); //按钮点击监听 group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) { switch (i) { case R.id.but1: { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .show(list.get(0)) .hide(list.get(1)) .hide(list.get(2)) .hide(list.get(3)) .commit(); break; } case R.id.but2: { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .show(list.get(1)) .hide(list.get(0)) .hide(list.get(2)) .hide(list.get(3)) .commit(); break; } case R.id.but3: { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .show(list.get(2)) .hide(list.get(1)) .hide(list.get(0)) .hide(list.get(3)) .commit(); break; } case R.id.but4: { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .show(list.get(3)) .hide(list.get(1)) .hide(list.get(2)) .hide(list.get(0)) .commit(); break; } } } }); }}
阅读全文
0 0
- Android底部Fragment切换
- Android UI-实现底部切换标签(fragment)
- Android UI-实现底部切换标签(fragment)
- android基于Fragment实现底部导航切换
- Android UI-实现底部切换标签(fragment)
- Android-实现底部切换标签(fragment)
- Android UI-实现底部切换标签(fragment)
- Android微信式底部标签栏和fragment切换实现
- android中fragment实现底部标签页的切换
- Android底部菜单(Fragment控制切换多个页面)
- [Android] 使用 Fragment 实现底部 Tab 切换界面
- Android个人学习笔记-底部导航切换Fragment的实现
- android 点击底部图片进行切换不同的Fragment
- 底部RadioButton实现Fragment切换
- android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态
- android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态
- android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态
- android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态
- react_basic(9)
- iMac浏览网页报错 "Safari不能连接到服务器"
- L1-015. 跟奥巴马一起画方块
- 准确MApp
- 10.21作业及总结
- Android底部Fragment切换
- 设计模式学习笔记—代理模式(Proxy)
- Linux下配置adb
- 欢迎使用CSDN-markdown编辑器
- Python3 数据结构与算法之枚举
- Struts2 拦截器
- HTML 表单,单选框,复选框,下拉列表,<textarea>
- 准确MainActivity
- 可能是第十好的Android 开源 日历 Calendar 仿小米