Fragment(碎片)

主界面layout文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:id="@+id/activity_main2"
 6     android:layout_width="match_parent"
 7     android:layout_height="match_parent"
 8     android:orientation="vertical"
 9     tools:context="com.example.dbwater.myapplication.Main2Activity">
10
11     <LinearLayout
12         android:layout_width="match_parent"
13         android:layout_height="0dp"
14         android:layout_weight="1"
15         android:id="@+id/layout_fragment"
16         android:orientation="horizontal"></LinearLayout>
17     <LinearLayout
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         >
21         <Button
22             android:layout_width="0dp"
23             android:layout_height="match_parent"
24             android:layout_weight="1"
25             android:text="首页"
26             android:onClick="bt1_onclick"
27             android:id="@+id/bt1"/>
28         <Button
29             android:layout_width="0dp"
30             android:layout_height="match_parent"
31             android:layout_weight="1"
32             android:text="购买"
33             android:onClick="bt1_onclick"
34             android:id="@+id/bt2"/>
35         <Button
36             android:layout_width="0dp"
37             android:layout_height="wrap_content"
38             android:layout_weight="1"
39             android:text="个人简介"
40             android:onClick="bt1_onclick"
41             android:id="@+id/bt3"/>
42     </LinearLayout>
43 </LinearLayout>

java主函数

 1 package com.example.dbwater.myapplication;
 2
 3 import android.support.v4.app.FragmentActivity;
 4 import android.support.v4.app.FragmentManager;
 5 import android.support.v7.app.AppCompatActivity;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.widget.Toast;
 9
10 public class Main2Activity extends FragmentActivity {
11
12     MainFragment mMainFragment;
13     BuyFragment mBuyFragment;
14     PersionFragment mPersionFragment;
15     FragmentManager mFragmentManager;
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main2);
20         mMainFragment=new MainFragment(getApplicationContext());
21         mFragmentManager=getSupportFragmentManager();
22         mFragmentManager.beginTransaction().add(R.id.layout_fragment,mMainFragment).commit();
23     }
24     public void bt1_onclick(View v)
25     {
26         switch (v.getId())
27         {
28             case R.id.bt1:
29                 mFragmentManager.beginTransaction().replace(R.id.layout_fragment,mMainFragment).commit();
30                 Toast.makeText(getApplicationContext(), "首页", Toast.LENGTH_SHORT).show();
31
32                 break;
33             case R.id.bt2:
34                 mBuyFragment = new BuyFragment(getApplicationContext());
35                 mFragmentManager.beginTransaction().replace(R.id.layout_fragment,mBuyFragment).commit();
36                 Toast.makeText(getApplicationContext(), "购买", Toast.LENGTH_SHORT).show();
37                 break;
38             case R.id.bt3:
39                 mPersionFragment=new PersionFragment(getApplicationContext());
40                 mFragmentManager.beginTransaction().replace(R.id.layout_fragment,mPersionFragment).commit();
41                 Toast.makeText(getApplicationContext(), "个人", Toast.LENGTH_SHORT).show();
42
43                 break;
44         }
45     }
46 }

首页Fragment的Java类:

 1 package com.example.dbwater.myapplication;
 2
 3 import android.content.Context;
 4 import android.os.Bundle;
 5 import android.support.annotation.Nullable;
 6 import android.support.v4.app.Fragment;
 7 import android.view.LayoutInflater;
 8 import android.view.View;
 9 import android.view.ViewGroup;
10
11 /**
12  * Created by Administrator on 2016/7/28.
13  */
14
15 public class MainFragment extends Fragment {
16     private Context mContext;
17     public MainFragment(Context context)
18     {
19         mContext=context;
20     }
21     @Nullable
22     @Override
23     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
24         View view=LayoutInflater.from(mContext).inflate(R.layout.fragment_main,null);
25         return super.onCreateView(inflater, container, savedInstanceState);
26     }
27 }

时间: 2024-08-26 21:47:07

Fragment(碎片)的相关文章

Fragment(碎片)(1)

莫愁前路无知己,天下谁人不识君. --高适<别董大二首> Fragment 碎片是什么 Fragment的简单使用 导入Fragment包的选择 supportv4appFragment androidappFragment Fragment的动态使用1 Fragment的动态使用2 在Fragment中模拟返回栈 FragmentTransaction的方法 Fragment进阶使用 源码 参考 Fragment 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理

动态添加Fragment碎片

1.      创建待添加的碎片实例. 2.      获取到FragmentManager,在活动中可以直接调用getFragmentManager()方法得到. 3.      开启一个事务,通过调用beginTransaction()方法开启. 4.      向容器内加入碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例 5.      提交事务,调用commit()方法来完成 package com.jia.fragmenttest; import andr

Android实习札记(4)---Fragment(碎片)基本概念解析

Android实习札记(4)---Fragment(碎片)基本概念解析 转载请注明出处:coder-pig Fragment相信大家都不会陌生吧,侧滑啦,抽屉效果啦,DialogFragment啊等等,一堆地方都会 用到Fragment,对于Fragment的基本概念在前面的文章中其实已经给出的了,这里回顾一遍, 温故而知新嘛,同时结合Google官方的api进行复习! 1)什么是Fragment以及它的生命周期: 核心要点: 1)3.0版本后引入,即minSdk要大于11 2)Fragment

android UI:底部菜单栏的学习与制作——Fragment碎片一

碎片(Fragment) 嵌入与活动中的UI片段,为了合理的分配布局而存在,这是我的简单理解.多用于兼顾手机与平板的UI,也适用于灵活高级的UI制作. Demo 简单的按键切换两片不同的Demo 新建left_fragment.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/

Fragment碎片的创建和动态更新

Fragment,在平板应用中较为参见,把视图分为两个甚至多个模块. 一,一个简单的fragment 1.创建两个局部文件,用于等待被调用 (1)left_fragment (2)right_fragment 2.分别创建两个继承于fragment类的类 (1)leftFragment(加载xml文件) public class LeftleftFragment extends Fragment { @Nullable @Override public View onCreateView(Lay

用fragment碎片动态创建UI

觉得自己还是十分的浮躁,总想快点学习完毕,学到一些很漂亮的UI控件,本来最近应该弄文件下载的,但是又去弄fragment了 不过根据我自己的理解的话,我觉得fragment就像一个个的view可以通过FragmentMannager对主界面的fragment进行管理 1.要创建一个碎片,应该先定义其布局文件,现在我定义了一个left_fragment.xml布局文件 1 <?xml version="1.0" encoding="utf-8"?> 2 &

fragment 碎片整理

activity_m1.xml <?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="matc

Android06-Fragment碎片

¨Fragment简介 ¨Fragment生命周期 ¨动态加载碎片Fragment Manager的使用 1.Fragment表示Activity中的一种行为或者一部分用户界面. 可以将Fragment看做Activity中的一个模块单元,可以在不同的Activity中重用 public class RightFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGr

Android开发中如何实现外部其他Activity类与指定fragment碎片的相互跳转

先说一下这个问题产生的背景 Activity A中有四个fragment,分别是 a b c d,默认显示的是fragment a.在开发过程中,fragment d中需要和外部Activity进行跳转,将这个外部Activity命名为B吧... 我需要从d中跳转到B中,完成一些设置,然后再从B中的返回按钮回到d.但是使用startActivity()方法的结果是:可以实现从d到B的跳转,但是从B跳到d出现了问题. 网上搜索了一下相关问题的解决方案(博文) 方案一: 要考虑fragment的复用