Android中Transition過渡動畫的簡單使用

前些天發現了一個蠻有意思的人工智能學習網站,8個字形容一下"通俗易懂,風趣幽默",感覺非常有意思,忍不住分享一下給大家。
👉點擊跳轉到教程

一、布局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:gravity="center_horizontal"android:orientation="vertical"tools:context=".ObjectAnimator2Activity"><ImageViewandroid:id="@+id/iv1"android:layout_width="50dp"android:layout_height="50dp"android:src="@mipmap/ic_launcher" /><ImageViewandroid:id="@+id/iv2"android:layout_width="50dp"android:layout_height="50dp"android:layout_marginVertical="10dp"android:onClick="onClick"android:src="@mipmap/ic_launcher" /><ImageViewandroid:id="@+id/iv3"android:layout_width="50dp"android:layout_height="50dp"android:src="@mipmap/ic_launcher" />
</LinearLayout>

二、Activity代碼如下

class ObjectAnimator2Activity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_object_animator2)}fun onClick(view: View) {//這段代碼的作用是在布局轉換時使用延遲過渡效果。具體來說,TransitionManager.beginDelayedTransition(view.parent as ViewGroup)// 方法會告知系統要對指定的 ViewGroup(視圖組)進行布局變化時的過渡動畫。這意味著在對該 ViewGroup 進行布局變化之后,系統將會自動應用指定的過渡效果。//在使用這段代碼之后,當你改變了 ViewGroup 中的子視圖的位置、大小等屬性后,系統會自動通過過渡動畫平滑地展示這些變化,而不是突然地改變。// 這可以為用戶提供更加流暢和美觀的界面變化效果,增強用戶體驗。//總之,TransitionManager.beginDelayedTransition(view.parent as ViewGroup) 的作用是啟動一個延遲過渡動畫,以實現視圖布局變化時的平滑過渡效果。TransitionManager.beginDelayedTransition(view.parent as ViewGroup)with(view.layoutParams as LinearLayout.LayoutParams) {width *= 2height *= 2}view.requestLayout()}
}

效果如圖所示

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697632.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697632.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697632.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Feign接口GET方式注意事項

1. GET請求方式&#xff0c;對于feign接口一定得用 RequestParam/SpringQueryMap等注解聲明是路徑參數&#xff0c;否則會自動識別為body params報錯(controller接口則可不用&#xff0c;springmvc會自動匹配相同字段名) demo: API 層controller接口&#xff1a; 前端傳參可直…

ABB觸摸屏維修工控機顯示屏維修CP405 A1/A0

ABB人機界面維修常見故障&#xff1a;黑屏白屏花屏&#xff0c;按觸摸屏無反應或反應慢觸摸不好&#xff0c;內容錯亂&#xff0c;進不了系統界面&#xff0c;無背光背光暗&#xff0c;有背光無字符&#xff0c;不能通信&#xff0c;按鍵無無反應等均可維修。 此維修檢測方法有…

geoserver 熱力圖樣式

<?xml version"1.0" encoding"ISO-8859-1"?> <StyledLayerDescriptor version"1.0.0" xsi:schemaLocation"http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns&…

英文輸入法(C 語言)

題目 主管期望你來實現英文輸入法單詞聯想功能&#xff0c;需求如下&#xff1a; 依據用戶輸入的單詞前綴&#xff0c;從已輸入的英文語句中聯想出用戶想輸入的單詞。按字典序輸出聯想到的單詞序列&#xff0c;如果聯想不到&#xff0c;請輸出用戶輸入的單詞前綴。 注意 英…

Java設計模式 | 七大原則之單一職責原則

一、單一職責原則 基本介紹 對類來說&#xff0c;一個類應該只負責一項原則&#xff0c;如類A負責兩個不同職責&#xff1a;職責1&#xff0c;職責2。當職責1需求變更而改變A時&#xff0c;可能造成職責2執行錯誤&#xff0c;所以需要將類A的粒度分解為A1&#xff0c;A2。 注…

常見算法解法——鏈表篇

鏈表 鏈表中每一個節點為一個對象&#xff0c;對象中包含兩個成員變量&#xff0c;第一個是val&#xff0c;代表鏈表的值&#xff0c;第二個是next&#xff0c;它指向下一個節點&#xff0c;是下一個節點對象的引用。 定義鏈表 class ListNode:def __init__(self, x):self.v…

玩主機游戲能省去不少煩惱?+主機該購買哪臺?

文/嘉蘭SK 來到次世代&#xff0c;玩家們最關心的問題逐漸變成了購買的游戲能否支持升級。 各個游戲廠商也沒有閑著。 此前還有標準版、黃金版、終極版、決定版等一系列。 想出很多招數。 于是很多新玩家開始疑惑&#xff1a;你們都說玩主機游戲可以省去很多麻煩&#xff0c;可…

每天一個知識點 - 如何快速熟悉后端項目

入職一家新公司的時候&#xff0c;不可避免的就是接觸到新公司的項目&#xff0c;有些項目一啟動就是好幾年&#xff0c;業務功能極其復雜&#xff0c;下面我總結幾個方法讓大家快速熟悉后端項目&#xff08;圖文結合&#xff09; 用例圖簡析 用例是系統中的一個功能單元&…

【機器學習】機器學習是什么?

機器學習是一種人工智能領域的技術&#xff0c;旨在使機器能夠通過數據和經驗來自動學習和改進。它通過構建和訓練模型&#xff0c;使機器能夠從輸入數據中提取規律和模式&#xff0c;并根據這些規律和模式做出預測或者決策。 機器學習的核心思想是讓機器通過大量的數據進行學…

springboot網站開發02-接入持久層框架mybatisPlus

springboot網站開發02-接入持久層框架mybatisPlus&#xff01;經過上一小節內容分享&#xff0c;我們的項目嵌套模式框架搭建好了&#xff0c;下面就是開始編輯具體的業務代碼了&#xff0c;我們使用到了持久層框架是mybatisPlus插件。下面是一些具體的植入框架的操作步驟。 第…

Python 光速入門課程

首先說一下&#xff0c;為啥小編在即PHP和Golang之后&#xff0c;為啥又要整Python&#xff0c;那是因為小編最近又拿起了 " 阿里天池 " 的東西&#xff0c;所以小編又不得不撿起來大概五年前學習的Python&#xff0c;本篇文章主要講的是最基礎版本&#xff0c;所以比…

DT DAY3 信號和槽

作業&#xff1a; 1> 思維導圖 2> 使用手動連接&#xff0c;將登錄框中的取消按鈕使用qt4版本的連接到自定義的槽函數中&#xff0c;在自定義的槽函數中調用關閉函數 btn3 new QPushButton("按鈕3",this);btn3->resize(ui->btn2->width(),ui->b…

研發流程圖

1、需求評審流程 2、用例評審流程 3、代碼評審流程 4、產品功能上線流程

排序算法整理

排序種類排序特性代碼背景 基于插入的排序直接插入排序原理代碼 折半查找排序2路查找排序希爾排序(shell) 縮小增量排序原理代碼 基于交換的排序冒泡排序原理代碼 快速排序&#xff08;重要!&#xff09;原理我的思考 代碼 基于選擇的排序&#xff08;簡單&#xff09;選擇排序…

雙向鏈表的操作(C語言)

main函數部分&#xff1a; #include <stdio.h> #include "./23_doubleLinkList.h" int main(int argc, const char *argv[]) { doubleLinkList* head create_doubleLinkList();insertHead_doubleLinkList(head,12);insertHead_doubleLinkList(head,21);inse…

Spark之【基礎介紹】

Spark最初是由美國伯克利大學AMP實驗室在2009年開發&#xff0c;Spark時基于內存計算的大數據并行計算框架&#xff0c;可以用于構建大型的、低延遲的數據分析應用程序。 Spark是當今大數據領域最活躍、最熱門、最高效的大數據通用計算平臺之一。 Spark的特點 運行速度快 &am…

Uniapp + VUE3.0 實現雙向滑塊視頻裁剪效果

效果圖 <template><view v-if"info" class"all"><video:src"info.videoUrl"class"video" id"video" :controls"true" object-fit"fill" :show-fullscreen-btn"false"play-btn…

網頁數據的解析提取(parsel的使用)

前面&#xff0c;我們已經介紹了Xpath庫和Beautiful Soup庫&#xff08;支持css選擇器&#xff09;來提取頁面信息。它們有各自的優缺點&#xff0c;那可不可以取長補短呢&#xff1f;當然可以&#xff0c;parsel庫就是結合Xpath和css選擇器兩種方式來提取網頁信息。同時&#…

sylar高性能服務器-日志(P30-P35)內容記錄

文章目錄 P30-P32&#xff1a;協程調度01-03一、Scheduler局部變量FiberAndThread&#xff08;任務結構體&#xff09;成員變量調度協程構造函數析構函數startstoprunstopping 二、參考資料 P33-P35&#xff1a;協程調度04-06一、測試1二、測試2 總結 P30-P32&#xff1a;協程調…

開源博客項目Blog .NET Core源碼學習(9:Autofac使用淺析)

開源博客項目Blog使用Autofac注冊并管理組件和服務&#xff0c;Autofac是面向.net 的開源IOC容器&#xff0c;支持通過接口、實例、程序集等方式注冊組件和服務&#xff0c;同時支持屬性注入、方法注入等注入方式。本文學習并記錄Blog項目中Autofac的使用方式。 ??整個Blog解…