Android开发——组合函数、注解与连接Android设备

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 themeSurface(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 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言精选练习题:(11)打印菱形

文章目录 每日一言题目思路代码结语 每日一言 Intelligence without ambition is a bird without wings. 聪明但没有抱负,就像没有翅膀的鸟。 题目 输入一个整数n,打印对应2n-1行的菱形图案,比如输入7,图案一共13行 1 …

Stable Diffusion - High-Resolution Image Synthesis with Latent Diffusion Models

Paper name High-Resolution Image Synthesis with Latent Diffusion Models Paper Reading Note Paper URL: https://arxiv.org/abs/2112.10752 Code URL: https://github.com/CompVis/latent-diffusion TL;DR 2021 年 runway 和慕尼黑路德维希马克西米利安大学出品的文…

【正式服部署】安装JDK

【正式服部署】安装JDK 📔 千寻简笔记介绍 千寻简文库已开源,Gitee与GitHub搜索chihiro-doc,包含笔记源文件.md,以及PDF版本方便阅读,文库采用精美主题,阅读体验更佳,如果文章对你有帮助请帮我…

全球移动通信(2G/3G/4G/5G)频谱分布情况

一、概述 随着通信技术的不断发展,全球各国都在积极推进2G、3G、4G、5G网络的建设和应用。根据FCC统计,目前全球移动通信频谱分布如下: 二、分布 (一)俄罗斯 2G:主要使用900MHz和1800MHz两个频段。其中&…

【sqli靶场】第六关和第七关通关思路

目录 前言 一、sqli靶场第六关 1.1 判断注入类型 1.2 观察报错 1.3 使用extractvalue函数报错 1.4 爆出数据库中的表名 二、sqli靶场第七关 1.1 判断注入类型 1.2 判断数据表中的字段数 1.3 提示 1.4 构造poc爆库名 1.5 构造poc爆表名 1.6 构造poc爆字段名 1.7 构造poc获取账…

【Axure RP9】动态面板使用------案例:包括轮播图和多方式登入及左侧菜单栏案例

目录 一 动态面板简介 1.1 动态面板是什么 二 轮播图 2.1 轮播图是什么 2.2 轮播图应用场景 2.3 制作实播图 三 多方式登入 3.1多方式登入是什么 3.3 多方式登入实现 四 左侧菜单栏 4.1左侧菜单栏是什么 4.2 左侧菜单栏实现 一 动态面板简介 1.1 动态面板是什么…

【LeetCode刷题笔记(5)】【Python】【盛最多水的容器】【双指针】【中等】

文章目录 盛最多水的容器算法题描述示例示例 1示例 2 提示题意拆解 解决方案:【双指针】运行结果复杂度分析 结束语 盛最多水的容器 盛最多水的容器 算法题描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (…

3.5【窗口】窗口管理

写在前面 窗口管理器和父窗口负责管理其他窗口,包括相应地处理来自应用程序和子窗口的事件。 窗口管理器和父窗口都会收到它们负责的窗口的事件。他们应该根据这些事件采取相应的行动。在大多数情况下,事件会触发窗口可见性、大小或位置的更新。窗口管理器和父窗口被赋予特…

Surface pro官方镜像恢复详细图文步骤

某些小白不会弄直接找淘宝远程刷官方系统,还被忽悠什么原版序列号会抹掉这样的笑话,真的很无语 一、准备恢复优盘 1、微软官方下载中心,按序列号下载,对应镜像,推荐最新版,但一般都要有注册微软账号才能下…

微信小程序背景图片设置

问题 :微信小程序通过css:background-image引入背景图片失败 [渲染层网络层错误] pages/wode/wode.wxss 中的本地资源图片无法通过 WXSS 获取&#xff0c;可以使用网络图片&#xff0c;或者 base64&#xff0c;或者使用<image/>标签 解决方法微信小程序在使用backgroun…

PTA:分段统计

题干 给定各个分段统计的区间端点和待统计的一组数据&#xff0c;请统计每区间中数据的个数及其占比百分数。 输入格式: 第一行为一个正整数n(0<n<100)&#xff0c;表示分段区间的端点数&#xff0c;n个端点构成n-1个区间。其后的n个整数按升序给出&#xff0c;分别表示…

QT Widget - 随便画个圆

简介 实现在界面中画一个圆, 其实目的是想画一个LED效果的圆。代码 #include <QApplication> #include <QWidget> #include <QPainter> #include <QColor> #include <QPen>class LEDWidget : public QWidget { public:LEDWidget(QWidget *pare…

从零开发短视频电商 OpenSearch/Elasticsearch 聚合操作

文章目录 文本字段上的聚合通用聚合结构嵌套聚合聚合类型指标聚合平均值/求和等基数百分位统计汇总热门点击值计数 桶聚合日期直方图直方图范围聚合词语聚合 OpenSearch不仅仅是用于搜索的工具。聚合使您能够利用OpenSearch强大的分析引擎分析数据并从中提取统计信息。 聚合的用…

机器学习 | SVM支持向量机

欲穷千里目&#xff0c;更上一层楼。 一个空间的混乱在更高维度的空间往往意味着秩序。 Machine-Learning: 《机器学习必修课&#xff1a;经典算法与Python实战》配套代码 - Gitee.com 1、核心思想及原理 针对线性模型中分类两类点的直线如何确定。这是一个ill-posed problem。…

从零开始实现分布式服务系统

文章目录 开发前言分布式模型系统图解注册中心模块基础服务模块被依赖的服务模块&#xff08;日志服务&#xff09;服务模块&#xff08;访问服务&#xff09;运行效果开发总结 开发前言 分布式系统具有高可靠性、高性能、可扩展性、灵活性、数据共享、可靠性和地理分布等优点…

【.NET Core】特性(Attribute)详解

【.NET Core】特性&#xff08;Attribute&#xff09;详解 文章目录 【.NET Core】特性&#xff08;Attribute&#xff09;详解一、概述二、编写自定义属性2.1 自定义特性的主要步骤2.2 应用AttributeUsageAttributeAttributeTargets 成员Inherited属性AllowMultiple属性 三、声…

【计算机网络】TCP协议——3. 可靠性策略效率策略

前言 TCP是一种可靠的协议&#xff0c;提供了多种策略来确保数据的可靠性传输。 可靠并不是保证每次发送的数据&#xff0c;对方都一定收到&#xff1b;而是尽最大可能让数据送达目的主机&#xff0c;即使丢包也可以知道丢包。 目录 一. 确认应答和捎带应答机制 二. 超时重…

小信砍柴的题解

目录 原题描述&#xff1a; 时间&#xff1a;1s 空间&#xff1a;256M 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 样例1输入&#xff1a; 题目大意&#xff1a; 主要思路&#xff1a; 注意事项&#xff1a; 总代码&#xff1a; 原题描述&#…

计网01 计算机网络基础

一、计算机网络基本概念 1、什么是计算机网络 网络&#xff1a;由两台或多台计算机通过网络设备串联&#xff08;网络设备通过传输介质串联&#xff09;而形成的网络网络设备&#xff1a;计算机、路由交换、防火墙、上网行为管理等传输介质&#xff1a;双绞线&#xff08;网线…

汇编语言学习(2)

更好的阅读体验&#xff0c;请点击 YinKai’s Blog。 基本语法 汇编程序可以分为三个部分&#xff1a; 数据部分&#xff08;data section&#xff09;未初始化数据部分&#xff08;bss section&#xff09;文本部分&#xff08;text section&#xff09; data 部分 ​ 数据…