Android studio心得——fragment动态加载

这篇具有很好参考价值的文章主要介绍了Android studio心得——fragment动态加载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在Android应用程序中,Fragment是一种可以嵌入Activity中的组件。通过 Fragment,我们可以将UI

目录

前言

一、什么是Android Studio

二、简介Fragment

三、学期知识汇总

四、什么是碎片(Fragment)

五、页面实现步骤

1.程序APP主界面的常用例子

2.定义4个Fragment

3.activity_main.xml代码展示

4.四个碎片代码展示

5.后台代码展示

6.运行结果

六、总结


分成多个逻辑和可重用的部分来管理。动态加载Fragment是开发Android应用程序时一个常见且有趣的任务,它使应用程序更加灵活、易于维护。

一、什么是Android Studio

Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA开发,并支持Java和Kotlin语言。Android Studio提供了代码编辑器、编译器、调试器、布局编辑器、虚拟设备模拟器、性能分析器等一系列工具,方便开发者进行应用程序的开发、测试和发布。

二、简介Fragment

随着移动设备的迅速发展,手机成为了生活必需品,平板电脑也变得越来越普及。Fragment能够同时兼顾手机和平板电脑的开发;可以让界面在平板电脑上更好地展示;Fragment是能够嵌入到活动中的组件,可以将多个片段组合在一个Activity中来构建多窗格UI,有自己的生命周期,并且可以有也可以没有用户界面。

三、学期知识汇总

经过一个学期时间的学习,学习到了很多关于Android studio的知识,比如实现项目跳转;如何仿造QQ相册,制作一个简易版的QQ相册;如何制作一个简易版的计算器;如何完成登陆与注册页面......今天我来讲讲我从Android studio里学到的Fragment方法。

四、什么是碎片(Fragment)

碎片(Fragment)是一种可以嵌入到活动中的UI片段,它能让程序更加合理和充分地利用大屏幕地空间,因而在平板电脑上应用得非常广泛。Fragment与活动非常像,同样都能包含布局,同样都有自己的生命周期。那么如何充分使用这些碎片呢?

五、页面实现步骤

1.程序APP主界面的常用例子

如图:APP下方有4个功能键,单机不同的功能键,可以加载不同的碎片。

android 动态添加fragment,android studio,android,kotlin

2.定义4个Fragment

如果使用静态加载,上面的主视图布局只能加载一个碎片,不能实现动态切换的功能;这种情况下需要使用动态加载的功能,如图所示,页面1~页面4是4个不同的Fragment,在功能键进行切换的时候,Activity主视图动态加载对应的碎片进行切换。

android 动态添加fragment,android studio,android,kotlin

3.activity_main.xml代码展示

在主视图activity_main.xml布局中增加FragmentLayout,这是Android中最简单的一种布局,他没有任何的定位方式,所有的控件都会摆放在布局的左上角,FragmentLayout布局可以包含多个Fragment,并根据要求动态加载指定的Fragment;主视图activity_main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <FrameLayout
        android:id="@+id/fm"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="12">
        <Button
            android:id="@+id/wx"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="微信"/>
        <Button
            android:id="@+id/txl"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="通讯录"/>
        <Button
            android:id="@+id/fx"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="发现"/>
        <Button
            android:id="@+id/w"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="我"/>
    </LinearLayout>
</LinearLayout>

4.四个碎片代码展示

增加Fragment1到Fragment4的碎片布局,布局中只有一个TextView,分别设置文本为页面一到页面四,如图完成fragment_wx.xml、fragment_txl.xml、fragment_fx.xml、fragment_w.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=".WxFragment">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="40dp"
        android:text="微信"/>
</LinearLayout>

5.后台代码展示

主视图包含4个按钮,根据视图的getId方法可以判断是哪一个按钮被按下;按钮被按下后调用Fragment方法,可以实现碎片的动态加载,主视图的整体代码如下:

package com.example.lyy_0506;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {


    private Button wx,txl,fx,w;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        wx=findViewById(R.id.wx);
        txl=findViewById(R.id.txl);
        fx=findViewById(R.id.fx);
        w=findViewById(R.id.w);
        wx.setOnClickListener(this);
        txl.setOnClickListener(this);
        fx.setOnClickListener(this);
        w.setOnClickListener(this);

//        replace(R.id.fm,new WxFragment());
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.wx:
                replace(R.id.fm,new WxFragment());
                break;
            case R.id.txl:
                replace(R.id.fm,new TxlFragment());
                break;
            case R.id.fx:
                replace(R.id.fm,new FxFragment());
                break;
            case R.id.w:
                replace(R.id.fm,new WFragment());
                break;
        }
    }
    private void replace(int layout, Fragment fragment){
        //getSupportFragmentManager获取碎片管理器
        FragmentManager FM = getSupportFragmentManager();//获取管理器

        //使用碎片管理器的beginTransaction方法,启动事务管理
        FragmentTransaction FT=FM.beginTransaction();//获取启动器

        //使用事务管理replace方法,替换当前碎片
        FT.replace(layout,fragment);//替换碎片

        //将 Fragment操作(比如添加,替换等)加入到系统回退栈中
        FT.addToBackStack(null);//是否启动回退栈

        //使用事务管理的commit方法将此次碎片操作提交给主视图actitity_wx
        FT.commit();//提交




    }
}

6.运行结果

程序编写完成后在手机上运行和模拟器上运行,程序运行的效果及页面的生命周期流程如图。

在此处我们可以看到java文件继承Fragment且常用的两种方法是:

onCreateView()方法,该方法返回视图文件,相当于Activity中onCreate方法中setContentView一样onViewCreated()方法,该方法当view创建完成之后的回调方法

android 动态添加fragment,android studio,android,kotlin

六、总结

在Android Studio的学习过程中,我获得了丰富的知识、技能和经验。首先,我熟练掌握了各种基础概念和核心要点,例如Activity、Fragment、Intent、布局等等。其次,在实践项目开发方面,我逐步掌握并应用了MVP框架思想,并利用SQLite数据库进行本地数据存储与管理;这门课给予我的帮助不仅是知道如何使用Android Studio进行项目开发所需要具备的理论知识与实际操作经验,更是让我对移动应用领域有更深入的认识并提高自身创新研究解决问题能力。通过这门课程的学习,我不仅加深了对Android 开发的理解,同时也提高了自己的编程技巧和实践经验。我掌握了Android Studio的基础使用方法,学会了如何使用各种组件和API进行应用程序开发,并且通过实际项目的经历加深了对整个开发流程一的理解。文章来源地址https://www.toymoban.com/news/detail-706401.html

到了这里,关于Android studio心得——fragment动态加载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio初学者实例:Fragment学习--仿美团外卖界面

    本次课程为Fragment为主题,课程的示例仿美团外卖界面,不同于底部导航栏的Fragment案例,此界面分为左侧切换与顶部切换。本文先是发布代码与效果,后续讲解将会在后续补充。先看看效果: 首先是布局文件代码:Activity布局:activity_main.xml: 首先父布局用的LinearLayout布局,

    2024年02月03日
    浏览(53)
  • Android之Fragment 跳转返回重复加载重复执行onCreateView的四种解决方法

    前言:  Fragment 跳转返回重复加载重复执行 onCreateView 的问题通常是因为 Fragment 生命周期方法的调用顺序和使用不当所导致的。 1,onSaveInstanceState()方法 一种解决方法是在 Fragment 中使用 onSaveInstanceState() 方法保存 Fragment 的状态,并在 onCreate() 方法中进行状态恢复,避免重复执

    2024年02月06日
    浏览(40)
  • Android Studio心得-创建登录注册项目

            首先先了解AndroidStudio是什么:Android Studio是一个由谷歌开发的Android应用程序开发环境,用于开发Android应用程序。它基于JetBrains IntelliJIDEA软件,并包含了许多定制化功能,包括易于使用的分析工具、内存分析工具和代码编辑器等,支持Java、Kotlin等多种编程语言。An

    2024年02月05日
    浏览(47)
  • 基于Android Studio的小米便签App开发环境搭建心得体会

    因为在本学期的另一门课程《移动应用开发》中也要使用Android Studio来作为开发环境。所以一开始我们选的就是小米便签这个项目。但在亲手搭建环境的过程中,我还是发现并没有我们设想的那么简单:我起初使用的是较老版本的Android Studio软件。虽然也能正常的使用并搭建环

    2024年04月28日
    浏览(34)
  • Android Studio 如何添加依赖

    1.有时候写项目需要添加一个依赖,比如我需要使用蓝牙,但是又不想自己写,从网上找一个成熟稳定的蓝牙项目,在自己的项目中添加一个文件夹取个名字,再把找到的项目中app路径下的内容, 把这些复制到自己项目的新建文件夹中,这样就成了一个内部模块,然后再将此

    2024年02月12日
    浏览(38)
  • Android Studio 加载一个 WebView 来访问网页

    为了实现在 Android Studio 加载一个 WebView 来访问网页,您可以按照以下步骤进行操作: 在布局文件中添加 WebView。在 res/layout 目录下创建一个新的 layout xml 文件(例如 webview_layout.xml)。在该文件中添加一个 WebView: 在 Java 代码中添加 WebView 的逻辑。在 Activity 类中创建 WebView 对

    2024年02月02日
    浏览(37)
  • android studio gradle 加载慢国内镜像解决(2022版)

    设置 包 的国内镜像 pluginManagement {     repositories {              maven { url \\\'https://maven.aliyun.com/repository/google\\\' }         maven { url \\\'https://maven.aliyun.com/repository/public\\\' }         maven { url \\\'https://maven.aliyun.com/repository/gradle-plugin\\\' }         google()         mavenCentral()         gradl

    2024年02月08日
    浏览(38)
  • Android Studio开发之路(二)添加图片资源

    第一步:复制要添加的图片 第二步:右键点击项目的res-drawable目录,选择paste粘贴 选择drawable目录 问你是否确定要复制,点击ok即可 然后就可以看到在drawable目录下出现了复制的图片 然后在xml中添加代码就可以显示在界面上了

    2024年02月09日
    浏览(34)
  • Android Studio开发简易APP添加代办事项

    创建xml布局页

    2024年02月15日
    浏览(32)
  • android studio 添加并读取json配置文件

    第一步:在android  studio中添加json文件;   第二步:读取文件的函数

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包