Jetpack:028-Jetpack中的Card

news2025/1/18 15:00:01

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 主要类型
    • 2.2 其它类型
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了Jetpack中Switch相关的内容,本章回中 主要介绍Card。闲话休提,让我们一起Talk Android Jetpack吧!

1. 概念介绍

我们在本章回中介绍的Card是一种组件,它提供了一块空间,空间内可以包含其它的组件,同时通过阴影给该空间创造出立体效果,看上去比较漂亮。它通常用在一些广告或者宣传场景中。

在早期的View体系中没有该组件,后来加入到了View中。我们在这里介绍的是jectpack compose中的Card,它和View中Card类似,它通过可组合函数Card来实现,我们将在本章回中详细介绍它的使用方法。

2. 使用方法

2.1 主要类型

可组合函数Card提供了相关的参数来控制自己,下面是常用的参数:

  • shape参数:主要控制Card的形状,常用来修改圆角;
  • border参数:主要用来控制Card外层的边框的宽度和颜色;
  • colors参数: 主要用来控制Card背景颜色和内部组件的颜色;
  • elevation参数:主要用来控制Card的阴影,值越大阴影效果越明显;
  • content参数:主要用来存放Card中包含的其它组件,可是包含多个组件;

上面这些参数中,前四个参数都是控制Card的风格,比如形状,颜色等。最后一个参数主要用来控制Card中包含的内容,它是lambda类型,因此通常使用尾lambda的语法,在函数体内添加被包含的其它组件,我们将在稍后的小节中通过示例代码来演示它的使用方法。此外,Card还有一个onClick参数,该参数主要用来响应点击事件,不过官方文档中不建议使用它,称它还在试验阶段。

2.2 其它类型

在compose中还有其它类型的Card,它们是在Card的基础上自带了一些样式,这样使用起来方便一些。下面是其它Card的分类介绍:

  • ElevatedCard:在默认Card的基础上淡化了背景颜色;
  • OutlinedCard:在默认Card的基础上淡化了背景,强化了边框;

这两种类型Card的用法和默认Card的用法完全相同,因此我们就不再介绍了,我们将在稍后的小节中通过示例代码来演示这两种Card的使用方法。

3. 示例代码

Card(//自带圆角,必须指定大小,否则使用wrap_content大小,默认灰色背景
    modifier = Modifier
        .background(color = Color.Blue)
        .size(width = 300.dp, height = 100.dp)
        .align(Alignment.CenterHorizontally),
    colors = CardDefaults.cardColors(
        containerColor = Color.Yellow,
        contentColor = Color.Red
    ),
    //修改圆角的大小
    shape = RoundedCornerShape(18.dp),
    //修改边框的男宽度和颜色
    border = BorderStroke(width = 2.dp, color = Color.Red),
    //调整阴影的范围
    elevation = CardDefaults.cardElevation(defaultElevation = 8.dp)
) {
    Text(//两处对齐都不起作用
        modifier = Modifier.padding(8.dp),
        text = "Custom card",
        textAlign = TextAlign.Center)
}

//背景比默认的淡一些
ElevatedCard (
    modifier = Modifier.size(width = 300.dp, height = 100.dp))
{
        Text(
            modifier = Modifier.padding(8.dp),
            text = "Elevated card",
            textAlign = TextAlign.Center)
}

//自带一个边框
OutlinedCard (
    modifier = Modifier.size(width = 300.dp, height = 100.dp) ){
    Text(
        modifier = Modifier.padding(8.dp),
        text = "Outlined card",
        textAlign = TextAlign.Center)
}

上面的示例代码中演示Card的用法,并且在代码中添加了详细的注释。此外还包含另外两种不同形式Card的用法,编译并且运行上面的程序,可以得到以下运行效果
在这里插入图片描述

4. 内容总结

最后,我们对本章回的内容做统一的总结:

  • Card可以提供一个自带阴影和背景的局部空间;
  • Card通过相关的参数自身的风格,主要是颜色和背景;
  • Card还有两种子类型,它们只是风格不同,使用方法完全相同;

看官们,与Jetpack中导航相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

linux的shell script判断用户输入的字符串,判断主机端口开通情况

判断输入的字符串是否是hello 图一运行报错 检查发下,elif 判断里面少个引号,哎,现在小白到了,一看就会,一写就错的时候了,好像现在案例比较简单,行数较少。 案例二 if 结合test 判断主机端…

企业电脑屏幕监控有哪些?如何实现电脑屏幕监控

企业电脑屏幕监控有哪些?如何实现电脑屏幕监控 下载使用安企神电脑屏幕监控软件 企业电脑屏幕监控是一种监测和记录员工在工作时间内在他们的计算机上执行的活动的技术。这种监控可以有多种目的,包括确保员工的生产力、确保数据安全性,或满…

CCLINK IEFB总线转ETHERNET/IP网络的协议网关使欧姆龙和三菱的数据互通的简单配置方法

想要实现CCLINK IEFB总线和ETHERNET/IP网络的数据互通。 捷米JM-EIP-CCLKIE是一款ETHERNET/IP从站功能的通讯网关,该产品主要功能是实现CCLINK IEFB总线和ETHERNET/IP网络的数据互通。本网关连接到ETHERNET/IP总线和CCLINK IEFB总线上都可以做为从站使用。网关分别…

静态链表的定义与实现(数据结构与算法)

1. 静态链表 用数组的方式实现的链表 单链表: 各个结点在内存中星罗棋布、散落天涯 静态链表:分配一整片连续的内存空间, 各个结点集中安置。 1.1 静态链表的优点 不需要像动态链表那样频繁地进行内存分配和释放,可以节省内存…

产品手册应该如何组织内容,以便用户能够快速找到所需信息?

产品手册应该如何组织内容,以便用户能够快速找到所需信息?这是一个关乎用户体验和产品文档效力的重要问题。当用户需要了解产品的功能、操作指南或故障排除时,他们希望能够轻松地找到准确、清晰的信息,而不是在冗长的手册中迷失方…

C语言——选择排序

完整代码: //选择排序 // 选择排序是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大&am…

Rocky 安装jdk17

1)检测jdk是否安装: #运行 java -version如果提示安装,则输入N,跳过 2)检测cpu 类型 若未安装查看linux处理器架构: #运行 hostnamectl #或运行 arch 3)去官网下载相应的编译版本的Jdk Or…

[SSD综述1.7] SSD接口形态: SATA、M.2、U.2、PCIe、BGA

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< 前言 犹记得当年Windows 7系统体验指数中,那5.9分磁盘分数,在其余四项的7.9分面前,似乎已经告诉我们机械硬盘注定被时代淘汰。势如破竹的SSD固态硬盘,彻…

万岳讲堂:抖音小程序开发入门指南

抖音小程序可以将开发者的创意带入这个热门的应用中。本文将带您深入了解抖音小程序的开发入门指南&#xff0c;帮助您开始在这一平台上构建自己的应用。 一、什么是抖音小程序&#xff1f; 抖音小程序是一种轻量级的应用程序&#xff0c;它可以在抖音中直接运行&#xff0c;无…

记录腾讯云重置密码之后ssh就连不上的踩坑

腾讯云轻量级服务器SSH连不上 解决方案在最后&#xff0c;点我跳转 问题背景&#xff1a; 首先ssh ubuntu用户我是能用xshell带上密钥正常连接的 其次我重置了root密码&#xff0c;自己改了一个root密码&#xff0c;因为我要用root账号使用ftp传输文件 然后重置密码之后&…

【Unity细节】生命函数Start的逻辑比从外部调用方法比起来哪个快

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 &#x1f636;‍&#x1f32b;️收录于专栏&#xff1a;unity细节和bug &#x1f636;‍&#x1f32b;️优质专栏 ⭐【…

解决vmware安装ubuntu虚拟机显示不全以及无法实现windows与虚拟机之间无法相互复制粘贴问题

01、存在问题 02、解决方案 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop reboot //重启在这里插入图片描述 存在Bug 如果遇到一下问题&#xff0c;请先执行下列命令&#xff0c;然后…

基于51单片机数字电压表的设计

**单片机设计介绍&#xff0c;1664【毕设课设】基于51单片机数字电压表的设计(仿真、程序、原理图、论文) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的数字电压表是一种可以测量直流电压并将其以数字形式显示的…

【C++ 学习 ㉛】- 详解 C++11 的 lambda 表达式

目录 一、语法格式 二、函数对象和 lambda 表达式 一、语法格式 定义一个 lambda 表达式&#xff08;lambda 函数&#xff09;的语法格式如下&#xff1a; [capture-list] (parameters) mutable noexcept/throw() -> return-type { statements }; 即 [捕获列表] (参数列…

register_parameter和register_buffer 详解

在参考yolo系列代码或其他开源代码&#xff0c;经常看到register_buffer和 register_parameter的使用&#xff0c;接下来将详细对他们进行介绍。 1. 前沿 在搭建网络时&#xff0c;我们 自定义的参数&#xff0c;往往不会保存到模型权重文件中&#xff0c;或者成为模型可学习…

【多线程】并发问题

public class BuyTicket implements Runnable{private int ticketNums10;Overridepublic void run() {for(int i1;i<ticketNums;i){if(ticketNums<0){break;}System.out.println(Thread.currentThread().getName() "抢到了第" i "张票");ticketNu…

数字处理-第10届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第3讲。 数字处理&#xff…

高性能网络编程 - 关于单台服务器并发TCP连接数理论值的讨论

文章目录 概述操作系统的限制因素文件句柄限制1. 进程限制2. 全局限制 端口号范围限制 概述 单台服务器可以支持的并发TCP连接数取决于多个因素&#xff0c;包括硬件性能、操作系统限制、网络带宽和应用程序设计。以下是一些影响并发TCP连接数的因素&#xff1a; 服务器硬件性…

软件设计模式原则(二)开闭原则

继续讲解第二个重要的设计模式原则——开闭原则~ 一.定义 开闭原则&#xff0c;在面向对象编程领域中&#xff0c;规定“软件中的对象&#xff08;类&#xff0c;模块&#xff0c;函数等等&#xff09;应该对于扩展是开放的&#xff0c;但是对于修改是封闭的”&#xff0c;这意…

Golang源码分析之golang/sync之singleflight

1.1. 项目介绍 golang/sync库拓展了官方自带的sync库&#xff0c;提供了errgroup、semaphore、singleflight及syncmap四个包&#xff0c;本次分析singlefliht的源代码。 singlefliht用于解决单机协程并发调用下的重复调用问题&#xff0c;常与缓存一起使用&#xff0c;避免缓存…