android Fragment 的简单应用

简介: 碎片(Fragment)是一种可以嵌入在活动中的UI片段,可以理解成一个迷你活动。

碎片(Fragment)是一种可以嵌入在活动中的UI片段,可以理解成一个迷你活动。

碎片的简单用法

在一个活动中添加两个碎片,两个碎片平分活动空间

1.新建一个左侧碎片布局left_fragment.xml,这个布局只放置了一个按钮,并让他水平对齐。

2345_image_file_copy_11.jpg

2.然后再建一个右侧碎片布局right_fragment.xml

2345_image_file_copy_12.jpg

3.新建一个LeftFragment类,让他继承自Fragment.

这里使用suppore-v4包。可以让所有的android 系统版本保持功能一致性,如果说你使用的是系统内置低的Fragment,那么4.2之前的设备运行就会奔溃,虽然说现在基本找不到4.2之前的设备。。。

2345_image_file_copy_13.jpg

上面这里重写了Fragment的onCreateView()方法,然后在这个方法中通过LayoutInflater的inflate()方法将刚才定义的left_fragment布局动态加载进来。

4.接下来再重建一个RightFragment类,功能一样。

2345_image_file_copy_14.jpg

5.然后修改activity_main.xml中的代码

这里使用标签在布局中添加碎片。注意这里还需要显式的指明要添加的碎片类名,一定也要将类的包名带上。

2345_image_file_copy_15.jpg

效果如图,两个碎片平分了活动布局

2345_image_file_copy_16.jpg

接下来,在上面的基础上,学习动态添加碎片

碎片的强大之处就在于,可以在程序运行的时候,动态的添加到活动中,根据具体的情况来动态的添加碎片。

1.新建一个another_right_fragment.xml,这个代码和上面的right_fragment.xml代码基本相同,只是将背景色改成了黄色,并将显示的文字改了改。

2345_image_file_copy_17.jpg

2.然后新建AnotherRightFragment作为另一个右侧碎片。在onCreateView()方法中加载了刚刚创建的another_right_fagment布局,这样就创建好了另一个碎片。

2345_image_file_copy_18.jpg

3.修改activity_main.xml

可以看到将右侧碎片替换成了一个FrameLayout中。

2345_image_file_copy_19.jpg

FrameLayout布局是安卓最简单的一个布局,它所有的控件都会被摆放在左上角。

如图示例

2345_image_file_copy_20.jpg

4.接下来修改MainActivity中的代码。

首先,给左侧碎片中的按钮注册了一个点击事件,然后调用replaceFragment()方法,动态的添加RightFragment这个碎片,当点击左侧碎片时,又会调用replaceFragment()方法将右侧碎片替换成AnotherRightFragment。

2345_image_file_copy_21.jpg

效果如下

2345_image_file_copy_22.jpg


目录
相关文章
|
6天前
|
IDE Java 开发工具
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"应用
本文将引导读者完成安卓应用开发的初步入门,包括安装必要的开发工具、配置开发环境、创建第一个简单的安卓项目,以及解释其背后的一些基本概念。通过一步步的指导和解释,本文旨在为安卓开发新手提供一个清晰、易懂的起点,帮助读者顺利地迈出安卓开发的第一步。
179 64
|
6天前
|
存储 Java Android开发
探索安卓应用开发:构建你的第一个"Hello World"应用
【9月更文挑战第24天】在本文中,我们将踏上一段激动人心的旅程,深入安卓应用开发的奥秘。通过一个简单而经典的“Hello World”项目,我们将解锁安卓应用开发的基础概念和步骤。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供一次实操体验。从搭建开发环境到运行你的应用,每一步都清晰易懂,确保你能顺利地迈出安卓开发的第一步。让我们开始吧,探索如何将一行简单的代码转变为一个功能齐全的安卓应用!
|
10天前
|
开发框架 搜索推荐 开发工具
打造个性化安卓应用:从零开始的Flutter之旅
【8月更文挑战第51天】本文是一篇面向初学者的Flutter入门教程,旨在通过简单易懂的语言和实际代码示例,引导读者步入跨平台移动应用开发的世界。文章首先介绍了Flutter的基本概念和优势,然后逐步展示了如何搭建开发环境、创建第一个Flutter应用,并实现了一个简单的待办事项列表。最后,文章探讨了Flutter在实现高性能和美观界面方面的潜力,鼓励读者发挥创意,探索更多可能。
58 15
|
15天前
|
搜索推荐 Java Android开发
打造个性化安卓应用:从设计到发布的全程指南
【9月更文挑战第15天】本篇文章将带领读者踏上一段激动人心的旅程,从构思一个独特的安卓应用想法开始,直至将其变为现实并成功发布。我们将一起探索如何捕捉灵感、设计界面、编写代码以及最终将应用推向市场。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供宝贵的洞见和实用的技巧,让你的应用在竞争激烈的市场中脱颖而出。
48 17
|
11天前
|
Java Android开发 UED
🧠Android多线程与异步编程实战!告别卡顿,让应用响应如丝般顺滑!🧵
在Android开发中,为应对复杂应用场景和繁重计算任务,多线程与异步编程成为保证UI流畅性的关键。本文将介绍Android中的多线程基础,包括Thread、Handler、Looper、AsyncTask及ExecutorService等,并通过示例代码展示其实用性。AsyncTask适用于简单后台操作,而ExecutorService则能更好地管理复杂并发任务。合理运用这些技术,可显著提升应用性能和用户体验,避免内存泄漏和线程安全问题,确保UI更新顺畅。
31 5
|
12天前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
71 3
|
12天前
|
存储 API Android开发
"解锁Android权限迷宫:一场惊心动魄的动态权限请求之旅,让你的应用从平凡跃升至用户心尖的宠儿!"
随着Android系统的更新,权限管理成为应用开发的关键。尤其在Android 6.0(API 级别 23)后,动态权限请求机制的引入提升了用户隐私保护,要求开发者进行更精细的权限管理。
37 2
|
20天前
|
开发框架 Android开发 iOS开发
探索安卓与iOS开发的差异:构建未来应用的指南
在移动应用开发的广阔天地中,安卓与iOS两大平台各占半壁江山。本文将深入浅出地对比这两大操作系统的开发环境、工具和用户体验设计,揭示它们在编程语言、开发工具以及市场定位上的根本差异。我们将从开发者的视角出发,逐步剖析如何根据项目需求和目标受众选择适合的平台,同时探讨跨平台开发框架的利与弊,为那些立志于打造下一个热门应用的开发者提供一份实用的指南。
43 5
|
18天前
|
Android开发 开发者 Kotlin
告别AsyncTask:一招教你用Kotlin协程重构Android应用,流畅度飙升的秘密武器
【9月更文挑战第13天】随着Android应用复杂度的增加,有效管理异步任务成为关键。Kotlin协程提供了一种优雅的并发操作处理方式,使异步编程更简单直观。本文通过具体示例介绍如何使用Kotlin协程优化Android应用性能,包括网络数据加载和UI更新。首先需在`build.gradle`中添加coroutines依赖。接着,通过定义挂起函数执行网络请求,并在`ViewModel`中使用`viewModelScope`启动协程,结合`Dispatchers.Main`更新UI,避免内存泄漏。使用协程不仅简化代码,还提升了程序健壮性。
36 1
下一篇
无影云桌面