[Android] UI進階筆記:從 Toolbar 到可折疊標題欄的完整實戰

學習 Android 開發的過程中,UI 控件往往是最直觀也最容易踩坑的部分。本文整理了我在學習《第一行代碼》后的實踐筆記,涵蓋 Toolbar、自定義標題欄、菜單、SnackbarCoordinatorLayout、可折疊標題欄、SwipeRefreshLayout 下拉刷新、FloatingActionButton 懸浮按鈕 等常見控件的使用方法和心得體會。通過這些總結,希望能幫助你快速掌握 Android 界面開發的核心知識點,讓界面更靈活、更具交互感eve~

Toolbar

Toolbar是什么?

  • Toolbar 是 Android 5.0)后引入的新控件,用來替代以前的 ActionBar,可以自由控制位置、樣式
  • 因為是可自定義的,所以比 ActionBar 靈活得多

Toolbar 的常見功能

  1. 應用標題
    默認顯示 App 名稱,你可以改成自定義標題
  2. 導航按鈕(返回鍵 / 菜單按鈕)
    可以添加返回箭頭、菜單按鈕,或者換成你想要的圖標
  3. 菜單
    可以在右上角加“搜索”“更多”等按鈕
  4. 完全自定義布局
    Toolbar 內部可以放 TextView、ImageView,甚至自定義控件

Toolbar的使用(配合菜單)

  • 可以直接在layout布局文件中使用:
<Toolbarandroid:layout_width="match_parent"android:layout_height="40dp"android:id = "@+id/toolbar"android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"app:popupTheme = "@style/ThemeOverlay.AppCompat.Dark"app:layout_constraintTop_toTopOf="parent"android:title="你好"></Toolbar>

以上代碼中有兩個較為陌生的屬性:

  • android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"代表頂部導航欄的主題顏色

@style/ThemeOverlay.AppCompat.Dark.ActionBar代表白色字體圖標;@style/ThemeOverlay.AppCompat.Light表示深色字體圖標

  • app:popupTheme = "@style/ThemeOverlay.AppCompat.Dark" 表示菜單的主體顏色

@style/ThemeOverlay.AppCompat.Light→ 白色彈窗
@style/ThemeOverlay.AppCompat.Dark → 深色彈窗

  • app:navigationIcon
    設置左上角的導航圖標(常見是返回箭頭)

菜單項這樣來寫:

   <itemandroid:id="@+id/it1"android:icon="@drawable/ic_launcher_background"android:title="TODO"app:showAsAction = "always"></item>
<itemandroid:id="@+id/it2"android:icon="@drawable/ic_launcher_foreground"android:title="TOD1"app:showAsAction = "ifRoom"></item>
<itemandroid:id="@+id/it3"android:title="TOD2"android:icon="@drawable/ic_launcher_foreground"app:showAsAction = "never"></item>

app:showAsAction = "always"
代表表現的方式:

always代表一定要顯示在頂部導航欄,否則不顯示

ifRoom代表如果能顯示顯示,不能顯示就去菜單項

never一定在菜單項

最后把菜單項膨脹到視圖,一定要使用這個方法,因為有菜單時,系統會回調這個方法;

public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.toolbai,menu);return true;
}
public boolean onOptionsItemSelected(MenuItem item) {if (item.getItemId() == R.id.action_search) {Toast.makeText(this, "點擊了搜索", Toast.LENGTH_SHORT).show();return true;}return super.onOptionsItemSelected(item);
}

設置toolbar

Toolbar toolbars = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbars);

設置導航按鈕(返回箭頭)

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbars.setNavigationOnClickListener(v -> finish());

注意:toolbar最好使用androidx

androidx.appcompat.widget.Toolbar

使用Androidx的toolbar時需要添加依賴,依賴如下:

implementation 'androidx.appcompat:appcompat:1.6.1'

當然我們也可以自定義toolbar,在toolbar中自定義控件:

Toolbar toolbar = findViewById(R.id.custom_toolbar);
setSupportActionBar(toolbar);
// 去掉系統默認標題,使用我們自己的 TextView
getSupportActionBar().setDisplayShowTitleEnabled(false);

getSupportActionBar().setDisplayShowTitleEnabled(false);核心就是設置后setSupportActionBar的這一句代碼,我們就可以使用自定義控件了,那么具體怎么自定義,那就看你想要什么樣子的效果啦;

不過需要注意一點,這里只是去掉了默認的標題,所以系統默認的標題不顯示了,但是我們仍然可以使用其他方法,比如設置返回圖標;

好了,Toolbar的簡單學習先到這里;

FloatingActionButton

這是懸浮按鈕,我們可以做點擊事件

在xml文件中簡單使用如下

<com.google.android.material.floatingactionbutton.FloatingActionButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|right"android:layout_margin="20dp"android:id = "@+id/fa"android:elevation="2dp"android:src = "@drawable/ic_launcher_foreground"/>

屬性解釋:

android:elevation="2dp"
數值越大,陰影面積大,但淺,反之則相反;

android:src = "@drawable/ic_launcher_foreground"可用來添加圖片

Snackbar

一個功能類似toast提示框,與toast不同的是,可以和用戶交互

floatingActionButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Snackbar.make(view,"嘿嘿",Snackbar.LENGTH_LONG).setAction("確定", new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this,"雪雪學安卓",Toast.LENGTH_SHORT).show();}}).show();}
});

Snackbar.make(view,"嘿嘿",Snackbar.LENGTH_LONG);

  • make方法是確認提示主體,第一個參數是界面任意一個view,snackbar會自動選擇最上層那一個,第二個參數是提示語

  • setAction方法
    通過setaction方法和用戶交互,第一個參數是按鈕效果,第二個參數做監聽

最后別忘記show()!

CoordinatorLayout布局

這個布局和幀布局差不多

但是它可以監聽所有的子控件,從而做出最佳響應:比如懸浮按鈕和提示框重合問題

需要注意的是:

那前提得是子控件,所以提示框傳入的view參數得是coordinatorlayout的子控件了;

glide依賴如下

    implementation 'com.github.bumptech.glide:glide:4.16.0'

Recycleview進階版

可能照片資源過大,所以這個時候就需要它了;

依賴如下:

implementation 'com.github.bumptech.glide:glide:4.16.0'

Glide.with(mcontext).load(fruit.getImageid()).into(holder.imageView);

第一個參數是context,第二個是把這個id加載到第三個參數的布局中

GridLayoutManager layoutManager = new GridLayoutManager(this,2);

代表兩列

<androidx.coordinatorlayout.widget.CoordinatorLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><com.google.android.material.appbar.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><androidx.appcompat.widget.Toolbarandroid:layout_width="match_parent"android:layout_height="40dp"android:id = "@+id/toolbar"android:theme="@style/Widget.AppCompat.Light.ActionBar"app:popupTheme = "@style/ThemeOverlay.AppCompat.Light"app:layout_scrollFlags="scroll|enterAlways|snap"app:layout_constraintTop_toTopOf="parent"android:title="你好"></androidx.appcompat.widget.Toolbar></com.google.android.material.appbar.AppBarLayout><androidx.recyclerview.widget.RecyclerViewandroid:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"android:id="@+id/recy"></androidx.recyclerview.widget.RecyclerView>

陌生屬性介紹:

  • com.google.android.material.appbar.AppBarLayout
    這個布局為了頂部導航欄的顯示

  • app:layout_behavior="@string/appbar_scrolling_view_behavior" 為了頂部導航欄的顯示,否則可能遮擋頂部導航欄;

  • app:layout_scrollFlags="scroll|enterAlways|snap"

scroll
作用:視圖會隨著內容滾動而一起滾動(向上滑時隱藏,向下滑時顯示

enterAlways
作用:
向下滾動時立即顯示視圖(不需要滾動到頂部)

snap
作用: 滾動停止時自動"吸附"到最近的邊界(要么完全顯示,要么完全隱藏, 提供更流暢的用戶體驗

exitUntilCollapsed

作用:

  • 視圖會滾動退出,但不會完全消失,而是停留在折疊狀態
  • 必須scroll 標志一起使用
  • 需要定義 minHeight 屬性指定折疊后的高度

我們通常是scrollexitUntilCollapsed搭配使用!

SwipeRefreshLayout下拉刷新

依賴:

implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'

xml文件:用法包在recyview外面表示刷新

<androidx.swiperefreshlayout.widget.SwipeRefreshLayoutandroid:layout_width="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"android:id = "@+id/swip"android:layout_height="match_parent"><androidx.recyclerview.widget.RecyclerViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/recy"></androidx.recyclerview.widget.RecyclerView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

在mainactivity

我把過程中難以理解的代碼都標注出來啦

SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swip);
swipeRefreshLayout.setColorSchemeColors(R.color.black);//刷新的顏色
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
//每次刷新都會回調@Overridepublic void onRefresh() {//經常得到數據之后,開始刷新,所以要在子線程中new Thread(new Runnable() {@Overridepublic void run() {try {Thread.sleep(2000);} catch (InterruptedException e) {throw new RuntimeException(e);}//回到主線程中runOnUiThread(new Runnable() {@Overridepublic void run() {//適配器刷新Notifyfruitadapots.notifyDataSetChanged();//表示刷新事件結束,隱藏刷新進度條swipeRefreshLayout.setRefreshing(false);}});}}).start();}
});

可折疊式表示欄

CoordinatorLayout

這是最外層的布局

然后你需要把你的用于折疊的照片,還有頂部導航欄,都設置在**appbarlayout**布局中

<com.google.android.material.appbar.AppBarLayoutandroid:layout_height="250dp"android:layout_width="match_parent"android:id = "@+id/appbar"><com.google.android.material.appbar.CollapsingToolbarLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:id = "@+id/coll"android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"app:contentScrim="?attr/colorPrimary"app:layout_scrollFlags="snap|scroll|exitUntilCollapsed"><ImageViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id = "@+id/iv"app:layout_collapseMode="parallax"android:scaleType="centerCrop"></ImageView><androidx.appcompat.widget.Toolbarandroid:layout_width="match_parent"android:layout_height="50dp"android:id = "@+id/toolbar"app:layout_collapseMode="pin"></androidx.appcompat.widget.Toolbar></com.google.android.material.appbar.CollapsingToolbarLayout></com.google.android.material.appbar.AppBarLayout>

定義在CollapsingToolbarLayout

  • android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 代表設置一個主題

  • app:contentScrim="?attr/colorPrimary"代表這個布局在趨于折疊和折疊后的背景色

  • app:layout_scrollFlags="snap|scroll|exitUntilCollapsed"appbarlayout中的屬性

app:layout_collapseMode="parallax"表示折疊模式

有三種折疊模式:

Pin代表在折疊時永不消失,這里代表頂部導航欄,在折疊會回固定在頂部,通常和toolbar一起聯合使用;

parallax模式(視差模式)
效果:控件以較慢速度滾動,產生景深效果,我們還可以設置它的滾動的速度,更有感覺。

滾動的速度通過此來控制,數值越小,速度越慢:
app:layout_collapseParallaxMultiplier="0.7"

默認模式(無模式)
效果:控件會隨滾動完全消失,一般不設置,無折疊效果。

中間內容:經常是recycleview等等

<androidx.core.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><androidx.cardview.widget.CardViewandroid:layout_width="match_parent"android:id = "@+id/card"app:cardCornerRadius="4dp"android:layout_margin="10dp"android:layout_height="wrap_content"><TextViewandroid:layout_width="match_parent"android:id = "@+id/tv"android:layout_height="wrap_content"></TextView></androidx.cardview.widget.CardView></LinearLayout></androidx.core.widget.NestedScrollView>

app:layout_behavior="@string/appbar_scrolling_view_behavior"
這個屬性搭配折疊效果;

NestedScrollView**只能有一個直接子項布局**

體會

編者對于在運用折疊式標題欄時有了一些新的體會

  1. 當你在某控件中設置parallax,即使折疊后仍然顯示當前折疊時的背景,它不會因為折疊就直接消失顯示pin模式下的控件,假如parallax設置的是背景圖,那么背景圖會和pin模式下的視圖重疊,直接你看不到是因為通常toobar設置的是pin,toolbar的會擋住背景圖,當你嘗試把toolbar設置為透明時,你會發現有重合的問題qvq;
  2. 折疊后的高度由誰決定?
    AI中會解釋道:由toolbar的高度決定,但你仔細看,你就會發現是由使用pin模式的控件決定的,因為toolbar設置了pin,所以AI才會這樣解釋,當我們toolbar中的設置為100dp,那么折疊后的高度就是100dp了;此時又發現一個屬性minheigh(控制 CollapsingToolbarLayout的最小可見高度),它也會影響高度,當它的高度大于PIN模式下控件的高度時,那么此時折疊后的高度就是minheight了,所以如果是minHeighttoolbar的高度要高,最后的結果就是上面是toolbar,折疊后仍然留有一部分高度是minheight的剩余高度;
  3. 可折疊模式寫在coll布局的直接子view中;
  4. 當有很多空間都設置了pin模式,按照在xml文件中的排布在頂部依次顯示;
  5. 可折疊式標題欄的核心:

最外層coor的一個布局

中間套appbarlayout負責響應滑動:android:fitsSystemWindows="true"這里這個屬性true代表toolbar在狀態欄下方,避免系統的窗口區域和布局重疊

里面是coll的一個布局:里面寫兩個重要屬性:app:layout_scrollFlags,控制滾動的效果,app:contentScrim 折疊后顯示的背景色(不寫會出現透明/白色突兀問題);

在未折疊的布局中寫屬性控制折疊后的效果;

在內容區例如recycleview或者scroll中寫app:layout_behavior="@string/appbar_scrolling_view_behavior"不然滑動不會帶動 AppBar 折疊;

希望編者的理解對你有幫助哦!

懸浮按鈕升級版

<com.google.android.material.floatingactionbutton.FloatingActionButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="16dp"app:layout_anchor="@id/appbar"app:layout_anchorGravity="bottom|end"></com.google.android.material.floatingactionbutton.FloatingActionButton>

app:layout_anchor="@id/appbar" 錨定誰

app:layout_anchorGravity="bottom|end" 錨定誰的哪里

anchor錨點

這么設置就會出現在標題欄的區域內

另外:

collapsingToolbarLayout.setTitle("i like");

這里也可以設置折疊后導航欄的標題搭配頂部導航欄的使用

本次分享到這里結束!

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

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

相關文章

計算機網絡---http(超文本傳輸協議)

1. HTTP的定義與核心屬性 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本傳輸協議&#xff09;是萬維網&#xff08;WWW&#xff09;的核心通信協議&#xff0c;定義了客戶端&#xff08;如瀏覽器、APP&#xff09;與服務器之間如何傳輸“超文本”&#xff08…

【qml-7】qml與c++交互(自動補全提示)

背景&#xff1a; 【qml-5】qml與c交互&#xff08;類型單例&#xff09; 之前記錄過qml與c交互的方式&#xff0c;目前為止我使用的是“類型單例”方式。這些名字是我自己起的&#xff0c;只為說明問題&#xff0c;嚴謹的還是以手冊為準。 “類型單例”方式時提到過自動補全…

網頁提示UI操作-適應提示,警告,信息——仙盟創夢IDE

代碼<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>原生動態提示框</title><style>…

第八篇 永磁同步電機控制-MTPA、MTPV

永磁同步電機控制系列課程&#xff1a; 第一篇 永磁同步電機控制-認識電機 第二篇 永磁同步電機控制-電機的分類 第三篇 永磁同步電機控制-硬件基礎知識 第四篇 永磁同步電機控制-軟件基礎知識 第五篇 永磁同步電機控制-數學模型 第六篇 永磁同步電機控制-控制方法 第七…

JAVA:Spring Boot 集成 Temporal 實現訂單處理系統

?? 1、簡述 在現代分布式系統中,訂單處理涉及多步驟工作流(如庫存扣減、支付確認、物流派單等)。為了確保這些步驟的 可靠性、可觀測性 和 容錯性,我們可以使用 Temporal 實現工作流管理。 本文將介紹如何在 Spring Boot 中集成 Temporal,并通過一個訂單處理的實際案例…

服務器硬件電路設計之 SPI 問答(六):如何提升服務器硬件電路中的性能?如何強化穩定性?

在服務器 SPI 硬件設計中&#xff0c;通信性能&#xff08;如傳輸速率、數據吞吐量&#xff09;與穩定性&#xff08;抗干擾、誤碼率&#xff09;直接決定外設響應效率&#xff0c;需從硬件設計、參數配置、干擾抑制三方面系統優化。一、性能優化核心策略&#xff1a;根據 SPI …

Web 聊天室消息加解密方案詳解

目錄 ?編輯 一、Web 聊天室消息加解密需求與技術約束 1.1 核心安全需求 1.2 技術約束 二、主流消息加解密方案詳解 2.1 方案 1&#xff1a;對稱加密&#xff08;AES-256-GCM&#xff09; 2.1.1 方案概述 2.1.2 核心原理 2.1.3 實現步驟&#xff08;分場景&#xff09…

組合導航 | RTK、IMU與激光雷達組合導航算法:原理、實現與驗證

RTK、IMU與激光雷達組合導航算法:原理、實現與驗證 文章目錄 RTK、IMU與激光雷達組合導航算法:原理、實現與驗證 一、組合導航系統原理與數學模型 1.1 傳感器特性與互補性分析 1.2 系統狀態方程構建 1.3 多源觀測方程設計 (1)RTK觀測模型 (2)激光雷達觀測模型 (3)多源觀…

使用Cadence工具完成數模混合設計流程簡介

眾所周知&#xff0c;Cadence的Virtuoso是模擬設計領域的核心工具&#xff0c;市占率達到75%&#xff0c;隨著近些年來Cadence在數字版圖設計&#xff08;APR&#xff09;領域的崛起&#xff0c;invs&#xff0c;PVS等一眾工具也都成了很多公司的首選后端流程工具。依照強強聯合…

FunASR人工智能語音轉寫服務本地部署測試

前提條件&#xff1a;本機&#xff1a;windows11 &#xff0c;已安裝docker1.下載鏡像使用命令下載docker鏡像docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.13下載完成后&#xff0c;建立文件夾儲存之后需要下載的模型…

Python OpenCV圖像處理與深度學習

Python OpenCV圖像處理與深度學習 1. Python OpenCV入門&#xff1a;圖像處理基礎 2. Python OpenCV開發環境搭建與入門 3. Python OpenCV圖像處理基礎 4. Python OpenCV視頻處理入門 5. Python OpenCV圖像幾何變換入門 6. Python OpenCV圖像濾波入門 7. Python OpenCV邊緣檢測…

C# SIMD編程實踐:工業數據處理性能優化案例

性能奇跡的開始 想象一下這樣的場景&#xff1a;一臺精密的工業掃描設備每次檢測都會產生200萬個浮點數據&#xff0c;需要我們計算出最大值、最小值、平均值和方差來判斷工件是否合格。使用傳統的C#循環處理&#xff0c;每次計算需要幾秒鐘時間&#xff0c;嚴重影響生產線效率…

XHR 介紹及實踐

What is it? XML(XMLHttpRequest) 是瀏覽器提供的一種用于前端頁面和后端服務器進行異步通信的編程接口。它允許在不重新加載整個頁面的情況下&#xff0c;與服務器交換數據并更新部分頁面內容&#xff0c;是 AJAX 技術的核心。 What is it used for? 異步請求&#xff1a;在…

【量化回測】backtracker整體架構和使用示例

backtrader整體框架 backtrader 是一個量化回測的庫&#xff0c;支持多品種、多策略、多周期的回測和交易。更重要的是可以集成 torch 等神經網絡分析模塊。Cerebro類是 backtrader 的核心。Strategy類、Broker和Sizer類都是由Cerebro類實例化而來。 整體流程 backtrade 自帶的…

【python+requests】一鍵切換測試環境:Windows 下環境變量設置指南

一鍵切換測試環境&#xff1a;Windows 下環境變量設置指南教你如何通過一個命令讓測試腳本自動識別不同環境的配置文件你是否遇到過這種情況&#xff1a;同一套測試腳本&#xff0c;需要在測試環境、開發環境、預發布環境、生產環境等多種配置中切換&#xff1f;每次都要手動修…

備份壓縮存儲優化方案:提升效率與節省空間的完整指南

在數字化時代&#xff0c;數據備份已成為企業運營的關鍵環節。本文將深入探討備份壓縮存儲優化方案&#xff0c;從技術原理到實施策略&#xff0c;為您提供一套完整的存儲空間節省與性能提升解決方案。我們將分析不同壓縮算法的適用場景&#xff0c;揭示存儲架構優化的關鍵技巧…

【圖像算法 - 25】基于深度學習 YOLOv11 與 OpenCV 實現人員跌倒識別系統(人體姿態估計版本)

摘要&#xff1a; 本文將詳細介紹如何利用先進的深度學習目標檢測算法 YOLOv11 結合 OpenCV 計算機視覺庫&#xff0c;構建一個高效、實時的人員跌倒識別系統。跌倒檢測在智慧養老、安防監控、工業安全等領域至關重要。我們將從環境搭建、數據準備、模型訓練到跌倒行為判斷邏輯…

數據結構--棧(Stack) 隊列(Queue)

一、棧&#xff08;Stack&#xff09;1. 棧的定義棧&#xff08;Stack&#xff09;是一種 先進后出&#xff08;LIFO, Last In First Out&#xff09; 的數據結構。就像一摞書&#xff1a;最后放的書最先拿走。2. 棧的常用方法&#xff08;Stack 類&#xff09;Stack<E> …

FART 主動調用組件深度解析:破解 ART 下函數抽取殼的終極武器

版權歸作者所有&#xff0c;如有轉發&#xff0c;請注明文章出處&#xff1a;https://cyrus-studio.github.io/blog/ FART 的主動調用組件 在 Android 逆向與脫殼領域&#xff0c;早期的自動化脫殼方案&#xff08;如 DexHunter、FUPK3&#xff09;主要運行在 Dalvik 環境&…

基于有限元分析法的熱壓成型過程中結構變形和堆積matlab模擬與仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.完整程序 1.程序功能描述 在壓印過程中&#xff0c;一般情況下&#xff0c;我們遵循質量&#xff0c;動量和能量守恒的原則進行仿真。然后建立偏微分方程組&#xff0c;然后通過有限元的…