Android开发之基础新特性-------------Fragment&帧动画(一知识点)

Fragment添加切换动画 文章目录前言一、Fragment添加切换动画二、使用步骤1.添加Fragment进入和出去的动画2.MainActivity代码3.activity_main.xml代码4.Fragment代码5.效果演示视频总结 前言 记录每天学习的内容方便以后自己复习回顾(第一天)。 以下是本篇文章正文内容。 一、Fragment添加切换动画 添加动画使Fragment的切换更自然。 二、使用步骤 1.添加Fragment进入和出去的动画 右击res——〉New——〉Directory——〉anim 然后右击——〉 阅读详情

一、Fragment:在一个Activity中切换界面,只切换Fragment中的内容。

生命周期:切换时,会销毁在创建,与Activity一样。

实现步骤:

1.创建Fragment布局文件xml。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
	<ImageView 
	    android:id="@+id/iv_bg"
	    android:src="@drawable/mv"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    />
</LinearLayout>
2.创建一个继承了Fragment的类,用布局文件填充成一个View对象,返回出去,那么就显示在Fragment上了,

package com.itheima.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment01 extends Fragment {
////此方法返回的View就会被显示在Fragment上
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
<span style="white-space:pre">	//用布局文件填充成一个View对象,返回出去,那么就显示在Fragment上了</span>
		View view  = inflater.inflate(R.layout.f01, null);
		return view;
	}
}
3.把Fragment显示至指定ViewGroup中,由于笔者在Activity中设置了三个按钮,所以三个监听事件,点击一个按钮切换一个画面,

package com.itheima.fragment;

import android.os.Bundle;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    private Button show1;
	private Button show2;
	private Button show3;

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        show1 = (Button) findViewById(R.id.bt_show1);
        show2 = (Button) findViewById(R.id.bt_show2);
        show3 = (Button) findViewById(R.id.bt_show3);
        
        showFragment01();
        //初始设置为显示Fragment01中关联的xml布局,
        show1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				 showFragment01();
			}
		});
        show2.setOnClickListener(new OnClickListener() {
        	
        	@Override
        	public void onClick(View v) {
        		Fragment02 frag02 = new Fragment02();
        		FragmentManager manager = getFragmentManager();
        		FragmentTransaction transcation = manager.beginTransaction();
        		transcation.replace(R.id.fl, frag02);
        		transcation.commit();
        	}
        });
        show3.setOnClickListener(new OnClickListener() {
        	
        	@Override
        	public void onClick(View v) {
        		Fragment03 frag03 = new Fragment03();
        		FragmentManager manager = getFragmentManager();
        		FragmentTransaction transcation = manager.beginTransaction();
        		transcation.replace(R.id.fl, frag03);
        		transcation.commit();
        	}
        });
    }

	private void showFragment01() {
		//Fragment01返回的是一个填充好的view对象,需要做的就是用这个对象
		//来填充Activity布局文件中的FragmentLayout,从而实现在一个Acivity中切换
		//不同的画面。
		Fragment01 frag01 = new Fragment01();
		//获取一个管理器
		FragmentManager manager = getFragmentManager();
		//获取FragmentTransation
		FragmentTransaction transcation = manager.beginTransaction();
		transcation.replace(R.id.fl, frag01);
		transcation.commit();
	}
	
	
}

点击界面1、2、3分别显示不同画面。Fragment介绍到此结束。

二、帧动画。一张张动画不断切换,形成动画效果。

步骤:

1.在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长 。用来填充MainActivity布局文件

中的ImageView做背景。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false">
    <item android:drawable="@drawable/mv" android:duration="190"/>
    <item android:drawable="@drawable/nei" android:duration="190"/>
    <item android:drawable="@drawable/screen" android:duration="190"/>
    <item android:drawable="@drawable/wai" android:duration="190"/>
    <item android:drawable="@drawable/wf" android:duration="190"/>
    <item android:drawable="@drawable/words" android:duration="190"/>
    <item android:drawable="@drawable/xl" android:duration="190"/>

</animation-list>
MainActivity的布局文件中只有两个按钮和一个ImageView,笔者在这里不在赘述。

2.在屏幕上播放帧动画,贴上Activity代码

package com.hasee.zhen;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {

    private Button start;
	private Button stop;
	private ImageView iv;

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        start = (Button) findViewById(R.id.bt_start);
        stop = (Button) findViewById(R.id.bt_stop);
        iv = (ImageView) findViewById(R.id.iv);
        
        //获取animationDrawable对象
        final AnimationDrawable ad = (AnimationDrawable)iv.getBackground();
        
        start.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				ad.start();
			}
		});
        stop.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				ad.stop();
			}
		});
    }

}






5-EP4CE10F17C8-引脚配置 EP4CE10F17C8-引脚配置 阅读详情

相关推荐

PE启动盘结合360杀毒离线版:深度清除顽固病毒实战指南

在系统安全维护领域,离线查杀是一种在独立于宿主操作系统的环境下进行病毒扫描和清除的核心技术。其原理是通过一个预启动环境(如PE)加载杀毒软件,从而绕过可能已被感染或受保护的系统核心,直接访问和扫描磁盘文件。这项技术的核心价值在于能够彻底处理那些在正常系统运行时难以清除的深度隐藏病毒、Rootkit和驱动级木马。典型的应用场景包括应对勒索软件、顽固感染型病毒以及系统启动项被劫持等情况。本文以“PE启动盘”和“360杀毒离线版”这一经典组合为例,详细解析了从工具选型、环境部署到深度查杀策略的全流程,为系统维护人

weixin_29741447的博客 408

Android之Fragment的动态添加

Fragment Fragment是Android3.0后引入的一个新的API,我们可以把它看成看成一个小型的Activity,又称Activity片段。Fragment有自己的生命周期但它仍需要嵌套在Activity 中使用,并且会受到Activity的生命周期的影响,比如Activity 被destory销毁了,他也会跟着销毁。 在Activity中添加Fragment有两种方式,一种是静态添加,一种是动态添加。 接下来主要讲一下动态添加: 1、创建三个fragment.xml布局文件,分别为:

m0_60746014的博客 7938

字节跳动已上岸测试工程师的面试经验

这个时候发面经已经有点晚了,所以现在打算让这篇面经主要面向即将秋招的童鞋,当然现在还在春招的童鞋也可以看哈,我和大家一起聊聊关于测试的二三事。   一、测试工程师的工作是什么?   测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。   首先很明显的bug开发人员有时候自己就能找到,测试人员要有比开发人员更加全面的想法才能找到深层次的问题点,   其次,要端正一个态度就是测试人员不是一个电脑小白,相反国外顶级的测试开发工程师同时也是顶级的开发工程师甚至更厉害,所以作为一个测试工程师一定要

m0_60745607的博客 2933

android fragment压栈,Fragment ,入栈,加入动画

执行Fragment的事务在activity中使用fragment的一个伟大的好处是能跟据用户的输入对fragment进行添加、删除、替换以及执行其它动作的能力。你提交的一组fragment的变化叫做一个事务。事务通过FragmentTransaction来执行。你还可以把每个事务保存在activity的后退栈中,这样就可以让用户在fragment变化之间导航(跟在activity之间导航一样)。...

weixin_27006759的博客 594

终极版:完美实现在PyQT5或Pyside2中构建无边框圆角阴影窗口,可拖动,阴影随窗口活动状态变化,窗口鼠标拖动改变大小(完美复用)

终极版(完美复用):完美实现在PyQT5或Pyside2中构建无边框圆角阴影窗口,可拖动,阴影随窗口活动状态变化,窗口鼠标拖动改变大小

文野海阳的博客 1668

西门子1500 PLC与巴鲁夫RFID实战:从硬件接线到数据读写的完整流程

本文详细介绍了西门子S7-1500 PLC与巴鲁夫RFID系统集成的完整实战流程。内容涵盖从硬件选型、接线、PROFINET网络配置,到在TIA Portal中安装GSD文件、组态设备、分配地址,再到使用标准功能块(如FB31)进行程序架构设计、实现数据读写以及错误诊断。文章重点分享了硬件连接要点、软件配置步骤、数据块管理技巧以及调试中常见问题的解决方案,为工业自动化工程师实施RFID项目提供了清晰的指导。

weixin_29161785的博客 385

android fragment动画,Fragment 的过场动画

Fragment 的过场动画Android,Fragment,动画2018.08.03在 Android 开发中,有些应用对页面的过场动画要求比较高,他们中期望给用户提供一个良好的用户体验。适当的过场动画可以减少用户在页面加载时期等待的焦虑,因为让他们看一个动画,总比让他们盯着一个菊花转圈,或者一个白屏,黑屏要强很多。在 Android 开发中,有些应用对页面的过场动画要求比较高,他们中期望给用户...

weixin_26969967的博客 570

深度学习中常用的几种卷积(下篇):膨胀卷积、可分离卷积(深度可分离、空间可分离)、分组卷积(附Pytorch测试代码)

膨胀卷积也称为扩张卷积或空洞卷积,一般可通过对标准二维卷积的卷积核设置合适的膨胀率(具体地指卷积核元素之间的距离)实现。合理利用膨胀卷积可在不引入其他参数的同时,扩大输出中元素的感受野,提高特征的全局表示能力。下面通过展示几个不同膨胀率下的卷积核大小以及感受野变化情况,可以更直观的理解:图中灰色为输入,蓝色为卷积核,黄色为输出。1)dilation=1:表示卷积核元素之间距离为1,使用0进行大小为dilation-1=0的填充(这是默认情况),因此。

NorthSmile的博客 9013

android 学习笔记13-新特性Fragment 帧动画 补间动画 属性动画

1、Fragment的介绍 2、Fragment向下兼容 3、帧动画-FrameAnimation 4、补间动画 5、属性动画 6、XML资源文件定义属性动画

pin-csdn的博客 569

【通信】多径衰落信道的matlab仿真

1 简介 2 部分代码 clearf_c=1e3; %carrier frequency(no modulation)time_1 = (linspace (0, 10, 1000)); %timesignal_in = sin (2 * pi *f_c* time_1); %sine wave plot (time_1, signal_in, 'b');grid on;

qq_59747472的博客 1382

【论文翻译】YOLO26: KEY ARCHITECTURAL ENHANCEMENTS AND PERFORMANCE BENCHMARKING FOR REAL-TIME OBJECT DETEC

本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其在实时边缘目标检测领域的关键架构改进与性能基准测试结果。YOLO26于2025年9月发布,是YOLO系列中最新、最先进的模型,专为在边缘设备和低功耗设备上实现高效能、高精度和部署就绪性而设计。论文依次详细介绍了YOLO26的架构创新,包括移除分布焦点损失(DFL)、采用端到端无非极大值抑制(NMS)推理、集成渐进式损失(ProgLoss)和小目标感知标签分配(STAL),以及引入MuSGD优化器以实现稳定收敛。

Limiiiing的博客 1682

Android之Fragment,帧动画,补间动画,属性动画

Fragment:     在安卓手机越来越大的情况下,一个屏幕显示只显示一个内容,会显得空旷,布局不够好看,屏幕利用的也不够充分。通常在平板中会出现这种情况,但是由于现在的手机屏幕越来越大,所以在3.0之后引入了Fragment。也可以使用支持类库,来向下兼容低版本。它的生命周期方法和activity一样     使用Fragment可以让我们更加充分地利用手机的屏幕空间,他可以在一个act...

weixin_34403693的博客 331

Android性能分析——hprof文件分析(一)

hprof  文件是 Java 堆转储文件(Heap Dump File)的标准格式,用于保存 Java 虚拟机(JVM)在某个时间点的内存快照。这种文件对于分析内存泄漏、内存使用情况和对象分配模式非常有用。

小旭的专栏 1877

android 帧动画工具类,Android 动画框架的学习

Android动画可作用于View/ViewGroup,Actvity,Fragment实现炫酷的交互效果。经过几天的探究,搞清楚了各类动画的使用和动画的实现原理,在此记录以下。尽管Android动画有好几种类别,但是各种动画的实现核心都是TimeInterpolator->Interpolator->各种Interpolator。大致过程是通过Interpolator计算出时间相关的...

weixin_42519126的博客 406

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

安卓----fragment与动画

一、javascript概述 JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中连接多个对象,与Web客户交互作用。javascript的出现使得网页和用户之间实现了一种实时性的,动态性的,交互性的关系,使网页包含更多活跃的元素和更加精

金福林的博客 1812

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Fragment的布局问题

在使用fragment的过程中老是会出现一些布局逻辑错乱的问题。相对于动态的replace()布局文件中的fragment,静态的添加进布局文件就感觉分外的简单。         我记录下了一些在代码中动态replace()出现的情况。 1.在水平布局中使用fragment。代码如下: 主布局 <LinearLayout xmlns:android="http://schem

沉寂的月痕 2238

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

在布局文件中使用Fragment的步骤

为了在Activity布局文件中使用Fragment我们需要四个步骤。 1.定义一个Activity,他继承android.support.v4.app.FragmentActivity,下面是关键代码 import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentA...

weixin_34015566的博客 1282

Frame Animation 帧动画

Frame Animation (又叫Drawable Animation),类似于电影的播放,是一帧一帧的播放不同的图像序列! AnimationDrawable 是帧动画的核心实现类!相比较在代码中庸AnimationDrawable实现帧动画,用xml的方式更加方便且易于维护和修改! 在res/drawable/路径下面定义xml文件。定义构成帧动画的不同图像的顺序和持续时间。 animat

kanbujian 564

Android xml布局中Fragment与 FrameLayout的区别

在 Activity 中托管一个 UI Fragment 有两种方式: (1)添加 fragment 到 activity 布局中。用name属性表明需要显示的fragment (2)在 activity 代码中动态添加删除fragment。FrameLayout 并不是相对布局,它就是一个容器,向其中添加的任何子组件,需要通过 layout_gravity 属性值决定在父视图中的位置,而各个子组...

wdh1994115的博客 2185

给Fragment切换添加动画,不显示

mFg.setCustomAnimations(R.anim.push_right_in, R.anim.push_left_out, R.anim.push_left_in, R.anim.push_right_out); 必须在Add或者Replace前面执行 mFg.add(R.id.realtabcontent, detailFragment, "DetailFragment")

让创意的火花散落到屏幕的每一个dp 5163

【攻克Android (15)】Fragment 碎片 / 帧 / 片段

[b][size=large]本文围绕以下三个部分展开: [/size][/b] [b][size=large]一、Fragment 碎片 / 帧 / 片段[/size][/b] [b][size=large]二、两个案例[/size][/b] [b][size=medium](一)、静态 Fragment[/size][/b] [b][size=medium]附 ...

XiangdongLee的博客 298

Android 复制粘贴对话框弹出监听实现

长按文本框或者webview界面,会弹出复制粘贴剪切等对话框,但是目前好多厂商都是自己写的控件,先说一下对系统的对话框进行监听的情况。 这里是为了监听对话框来对自定义view进行高度的处理,对华为三星等手机做个适配,自定义了一个view,在onLayout方法中根据自定义的view在屏幕中的位置变化来进行判断复制粘贴对话框的弹出和隐藏。代码: @Override protected

camel@Y blog 6332

repo,可以直接复制粘贴到你的~/bin/repo文件中

#!/usr/bin/env python # repo default configuration # import os REPO_URL = os.environ.get('REPO_URL', None) if not REPO_URL: REPO_URL = 'https://gerrit.googlesource.com/git-repo' REPO_REV = 'stable'...

camel@Y blog 4246

Google原生输入法LatinIME词库构建流程分析(一)

进入到cpp目录下(pwd=.../cpp/),在command目录中有个pinyinime_dictbuilder.cpp文件,源码中可以看到main函数,这里就是词库构建的入口,接下来看下main函数源码: 25 /** 26 * Build binary dictionary model. Make sure that ___BUILD_MODEL___ is defined 2...

camel@Y blog 3855

android wifi---------------广播

2016年12月10日,今天是周六,天气不错,但是没出去,昨天在公司做WiFi这块的需求,想着把WiFi这块相关的一些广播整理以下以供自己日后使用起来方便,所以今天就在si3下一边看(WifiManager.java)一边记录一下(@hide的不要)。 //当前是否可以开始扫描:mWifiManager.startScan()可以调用否,不过这是个@hide的 public static fi

camel@Y blog 3044
上一篇: 数据库应用之-------------事务
下一篇: Android开发基础之-----------补间动画
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值