1-AVI--Fragment基础使用

简介: 零、前言[1].Fragment静态使用[2].Fragment动态使用一、Fragment静态使用静态fragment.jpg1.

零、前言

[1].Fragment静态使用
[2].Fragment动态使用

一、Fragment静态使用

静态fragment.jpg
1.蓝色布局:blue.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/colorPrimary"
                android:orientation="vertical" >
    <TextView
        android:id="@+id/blue_tv"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="蓝色Fragment"
        />
</RelativeLayout>
2.黄色布局:yellow.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
                android:background="@color/yellow"
              android:orientation="vertical" >
    <TextView
        android:id="@+id/yellow_tv"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="黄色Fragment"
        />
</RelativeLayout>
3.黄色Fragment:YellowFragment.java
/**
 * 作者:张风捷特烈<br/>
 * 时间:2018/8/28 0028:13:07<br/>
 * 邮箱:1981462002@qq.com<br/>
 * 说明:黄色Fragment
 */
public class YellowFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        return inflater.inflate(R.layout.yellow, container, false);
    }
}
4.绿色Fragment:BlueFragment.java
/**
 * 作者:张风捷特烈<br/>
 * 时间:2018/8/28 0028:13:07<br/>
 * 邮箱:1981462002@qq.com<br/>
 * 说明:绿色Fragment
 */
public class BlueFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        
        return inflater.inflate(R.layout.fragment_bottom, container, false);
    }
}

5.主布局:layout/activity_static.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="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".activity.ActFragmentActivity">

    <fragment
        android:id="@+id/yellow_fragment1"

        android:name="com.toly1994.avi_fragment.staticFg.YellowFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <View
        android:background="@color/gray_8f"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>

    <fragment
        android:id="@+id/yellow_fragment2"

        android:name="com.toly1994.avi_fragment.staticFg.YellowFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <fragment
        android:id="@+id/blue_fragment"
        android:name="com.toly1994.avi_fragment.staticFg.BlueFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"/>
</LinearLayout>
6.使用:StaticFragmentActivity.java
public class StaticFragmentActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_static);
    }
}

二、动态使用

public class ActFragmentActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_acti);
        initFragment();
    }

    /**
     * 动态加载Fragment
     */
    private void initFragment() {
        FragmentManager fm = getFragmentManager();//1.获取FragmentManager
        FragmentTransaction ft = fm.beginTransaction();//2.fm开启事务
        //3.动态添加 (控件id,fragment对象)
        ft.add(R.id.fl_title, new YellowFragment());
        ft.add(R.id.fl_content, new BlueFragment());
        ft.commit();//4.提交事务
    }
}
动态使用fragment.png

后记、

1.声明:

[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
[4]你的喜欢与支持将是我最大的动力

2.连接传送门:

更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
简书首发,腾讯云+社区同步更新
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

3.联系我

QQ:1981462002
邮箱:1981462002@qq.com
微信:zdl1994328

4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
公众号.jpg
相关文章
|
编解码 vr&ar Android开发
Android FFmpeg 转换MP3格式
Android FFmpeg 转换MP3格式
200 0
|
Java Android开发
|
编解码 算法 Java
基于ffmpeg 编解码 GIF 【PC】【Android】
基于ffmpeg 编解码 GIF 【PC】【Android】
148 0
|
Android开发
Android开发 - ImageView加载Base64编码的图片
在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片。这种情况出现在服务端需要动态生成的图片,比如: 二维码 图形验证码 … 这些应用场景有个共同点就是,这些图片都是由服务器动态生成,并不需要生成后保存成文件再返回给客户端。
2275 0
|
Android开发
5-AVI--Fragment简单封装
零、前言 [1].每次写Fragment要加载布局,为布局设置内容,挺麻烦的,搞个基类简单封装一下吧 [2].一般封装基类使用模板方法设计模式,基类中做一些常用的不变东西,需要拐点弯的逻辑就弄个抽象方法延迟到子类 [3].
1002 0
|
XML Android开发 数据格式
3-AVI--Activity与Fragment的数据传递
零、前言 [1].Activity向Fragment传数据 [2].Fragment向Activity传数据 [3].Fragment向Fragment传数据 一、Activity向Fragment传数据效果: ac2fg.
927 0
|
测试技术 容器
2-AVI--Fragment生命周期测试
零、前言 [1].两个Fragment,点击左右按钮切换相应的Fragment [2].观察Activity 和两个Fragment生命周期变化 [3].
1091 0
|
Android开发 容器
4-AVI--Fragment与ViewPager结合
零、前言 [1].认真看下图Fragment在ViewPager里的默认生命周期(可在浏览器中单独打开网页查看动图,清晰很多) [2].名字数据随机获取见:随机数据生成 [3].
1094 0