Android開發——組合函數、註解與連接Android設備

来源:https://www.cnblogs.com/humanplug/archive/2023/12/17/17909143.html
-Advertisement-
Play Games

1、JetPack Compose、組合函數與註解和文本修改 1、JetPack Compose:Jetpack Compose 是由 Google 推出的用於構建 Android 用戶界面的現代化工具包。它是一個聲明式的 UI 工具包,用於簡化 Android 應用程式的用戶界面設計和開發。Jet ...


1、JetPack Compose、組合函數與註解和文本修改

1、JetPack Compose:Jetpack Compose 是由 Google 推出的用於構建 Android 用戶界面的現代化工具包。它是一個聲明式的 UI 工具包,用於簡化 Android 應用程式的用戶界面設計和開發。Jetpack Compose 採用了類似於 React 或 Flutter 的方式,通過組合函數來構建 UI,將 UI 的狀態和外觀分離開來,使得界面開發更加簡單、靈活和直觀。

2、組合函數:組合函數是指在 Jetpack Compose 中用於構建 UI 的函數。這些函數以一種聲明式的方式描述了用戶界面的外觀和行為,將 UI 元素組合在一起以創建應用程式的視覺部分。在 Jetpack Compose 中,UI 是通過函數來構建的,每個函數代表一個 UI 元素或組件,這些函數可以嵌套和組合在一起形成更複雜的 UI。這些函數通常會返回一個描述特定 UI 元素外觀和行為的對象,例如文本、按鈕、圖像等。開發者可以通過組合這些函數來構建整個應用程式的用戶界面。

3、註解:註解是一種在 Java、Kotlin 和許多其他編程語言中提供的元數據(Metadata)形式。它們是用來給程式中的代碼元素(比如類、方法、變數、參數等)附加額外信息的工具。註解本身不會改變程式的運行邏輯,但可以為編譯器或者其他工具提供關於代碼的額外信息。這些信息可以用於編譯時的檢查、靜態分析、生成文檔、代碼生成等。在某些情況下,註解還可以用於運行時的反射操作,使得程式能夠在運行時獲取到額外的元數據信息。如以下方式就是一種註解:
filefile

2、文本修改

這裡先說明什麼是Modifier 形參,在 Kotlin 中,Modifier 形參通常用於指定某些修飾符(Modifiers),它們可以用來改變代碼中元素的行為、性質或作用域。Modifier 形參一般是作為函數或方法的參數,用於傳遞修飾符的信息。

好,這裡以生日賀卡為例來說明如何對文本進行修改,首先創建一個名為“Happy Birthday”的新項目,然後修改Greeting()函數並修改對應內容,修改如下:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            HappyBirthdayTheme {
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                }
            }
        }
    }
}
@Composable
fun GreetingText(message: String, modifier: Modifier = Modifier) {
    Text(
        text = message
    )
}


@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    HappyBirthdayTheme {
        GreetingText(message = "Happy Birthday Sam!")
    }
}

之後可以看到對應的內容file
接下來是對於字體大小的修改,在GreetingText()函數中,利用fontSizelineHeight實參調整大小和行高。這裡需要導入庫——androidx.compose.ui.unit.sp

@Composable
fun GreetingText(message: String, modifier: Modifier = Modifier) {
    Text(
        text = message,
        fontSize = 100.sp,
        lineHeight = 113.sp
    )
}

可以得到file
而修改文本為一行或者一列等,Android studio中已經直接給出幫助
file
file

3、連接設備

如何在自己的Android設備上運行呢,我們可以通過USB的方式進行連接,首先開啟手機的USB開發調試
file
然後用USB連接電腦
file
在此處選擇自己的設備,點擊“run”就可以在自己的設備上運行程式
file

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Qt 是一個跨平臺C++圖形界面開發庫,利用Qt可以快速開發跨平臺窗體應用程式,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現圖形化開發極大的方便了開發效率,本章將重點介紹`ToolBar`工具欄組件以及與之類似的`MenuBar`菜單欄組件的常用方法及靈活運用。 ...
  • 本文介紹了流程式控制制中的迴圈結構,包括while迴圈、do-while迴圈和普通for迴圈。同時,還介紹了在Intellij IDEA中使用迴圈的快捷鍵,以提高編程效率。 ...
  • 星索稱重/生產管理軟體 聯機版V1.0 一、特點 1.支持多用戶、多組織管理,靈活控制用戶許可權。 2.支持地磅秤、智能電子秤、軌道秤等多款稱重設備。 3.支持三聯單/熱敏紙等多種列印模板。 二、系統截圖 1.首頁 2.批次管理 3.包裝稱重 4.供應商管理 5.產品管理 6.稱重記錄 7.產品分組 ...
  • 介紹 一個源代碼生成器,用於向 C#項目添加一組用戶定義的 Win32 P/Invoke 方法和相關的類型。 鏈接地址: https://github.com/microsoft/CsWin32 還在手動添加平臺調用的代碼或者增加無用的程式集?微軟的官方解決方案來了! 特色 快速將 P/Invoke ...
  • 使用開源、免費軟體進行取證(不氪金取證方法) Autopsy https://www.autopsy.com Autopsy® is the premier end-to-end open source digital forensics platform. Built by Basis Techn ...
  • 習題要求 創建好作業後,先進入文件夾/home/acs/homework/lesson_3/,然後: (0) 進入homework_0文件夾,編寫自動完成lesson_1作業的腳本helper.sh。要求: [1] 當前目錄下僅包含helper.sh [2] helper.sh具有可執行許可權 [3] ...
  • 一、垂直分庫場景 場景:在業務系統中,涉及一下表結構,但是由於用戶與訂單每天都會產生大量的數據,單台伺服器的數據存儲以及處理能力是有限的,可以對資料庫表進行拆分,原有資料庫如下 說明1:整個業務系統中的表,大致分為四個,商品信息類的表,訂單相關的表,用戶相關表及省市區相關的表,這裡暫時將省市區的表和 ...
  • 一、Storm集群構建 編寫storm 與 zookeeper的yml文件 storm yml文件的編寫 具體如下: version: '2' services: zookeeper1: image: registry.aliyuncs.com/denverdino/zookeeper:3.4.8 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...