Android开发——添加图片

1、首先选择一张需要的图片,通过左侧的Resource Manage选择“+”并选择Import Drawables file 选择一张图片 file 并调整以下两个内容 file 这两个内容的作用借用谷歌官方的Android开发教程的内容: *Android 设备具有不同的屏幕尺寸(手机、平板电脑和电视等),而且这些屏幕也具有不同的像素尺寸。也就是说,有可能一部设备的屏幕为每平方英寸 160 个像素,而另一部设备的屏幕在相同的空间内可以容纳 480 个像素。如果不考虑像素密度的这些变化,系统可能会按比例缩放图片,这可能会导致图片模糊或占用大量内存空间,或者图片大小不当。

如果所调整的图片超出了 Android 系统可处理的图片大小,系统会抛出内存不足错误。对于照片和背景图片(如当前图片 androidparty.png),应将其放在 drawable-nodpi 文件夹中,这样会停止调整大小行为*

2、在项目中,所有资源都保存在/res目录下,具有以下例如的结构: MyProject/ src/ MyActivity.kt res/ drawable/ graphic.png mipmap/ icon.png values/ strings.xml

在项目中,R 类是 Android 自动生成的类,其中包含了项目中所有资源的 ID。所以我们可以使用R.drawable.picture_name的方式找到图片资源。 接下来构建组合函数GreetingImage()首先在函数中定义变量image它所对应的就是我们所需要的图片

val image = painterResource(R.drawable.androidparty)

接着构建组合内容image

Image(painter = image,contentDescription = null,contentScale = ContentScale.Crop,alpha = 0.6F)

这里的实参contentDescriptionTalk Back内容有关,这是一个为了使更多用户使用我们的程序所有的一些提示,这里我们并不需要所以设置为null ContentScale中提供各种各样的参数来调整图片大小比例 alpha规定了图片透明度 最后使用Box布局并添加上之前的"GreetingText"函数

3、最终效果

file file

完整代码

package com.example.happybirthdayimport android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.happybirthday.ui.theme.HappyBirthdayThemeclass 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) {GreetingImage("Happy Birthday,Human")}}}}
}
@Composable
fun GreetingText(message: String, modifier: Modifier = Modifier) {Text(text = message,fontSize = 100.sp,lineHeight = 113.sp)
}@Composable
fun GreetingImage(message: String, modifier: Modifier = Modifier) {val image = painterResource(R.drawable.androidparty)Box {Image(painter = image,contentDescription = null,contentScale = ContentScale.Crop,alpha = 0.5F)GreetingText(message = message,modifier = Modifier.fillMaxSize().padding(8.dp))}
}@Preview(showBackground = false)
@Composable
fun GreetingPreview() {HappyBirthdayTheme {GreetingImage("Happy Birthday,Human")}
}

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

【Java JMM】编译和优化

1 前端编译 在 Java 技术下, “编译期” 是一个比较含糊的表述, 因为它可能指的是 前端编译器 (“编译器的前端” 更准确一些) 把 *.java 文件转变成 *.class 文件的过程Java 虚拟机的即时编译器 (常称 JIT 编译器, Just In Time Compiler) 运行期把字节码转变成本地机器码的过…

【华为鸿蒙系统学习】- HarmonyOS4.0之App项目开发|自学篇

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 创建鸿蒙第一个App项目 项目创建 工程目录区 预览区 运行Hello World 基本工程目录 ws:工…

ROS-小海龟案例---ROS命令

ROS-小海龟案例—ROS命令 rosnoderos:节点管理命令,通过此命令可以查看、操作以及监测已经运行的ros节点: rosnode 命令 作用 rosnode list 列出当前运行的node信息 rosnode i…

Jmeter参数化 —— 循环断言多方法

1、参数化接口测试数据 注意:csv文档参数化,里面有多少条数据,就要在线程组里循环多少次,不然就只执行一次 2、添加配置元件-计数器 关于计数器: ①Starting Value:给定计数器的初始值; ②递增&#xff1a…

Java开发框架和中间件面试题(1)

1.什么是Spring框架? Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便的协助我们进行开发。这些模块是核心容器、数据访…

安卓手机如何打开ics文件?ics格式文件用什么软件打开?

什么是ics格式文件?Ics格式文件是什么呢?其实ics格式文件是一种用于保存和交换日历信息的标准格式,它通常可以保存事件的名称、时间等信息,有不少日历、待办软件在导出数据的时候,都是以ics文件导出的。 有不少网友目…

求职方略-倒金字塔型自我介绍

第一步,开头第一句话提纲挈领,点出你的主要“卖点” 自我介绍的第一句话很重要,要有足够的吸引力,有足够的信息量,还要有足够的说服力,能产生先声夺人的效果。 一般的自我介绍喜欢按照时间线索依次介绍自己的经历,例如:“我大学毕业后就进入一家大公司的研发中心,工…

java.lang.IllegalStateException: Duplicate key

序言 最近监控扫描出我们项目的某些异常信息,报错java.lang.IllegalStateException: Duplicate key xxx,看到异常来自stream流,然后定位看了一下是某位同事的代码使用stream流把List转Map集合出现重复的key异常信息。List集合A对象来源于某个…

C# WPF上位机开发(QT vs WPF)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 最近经常收到朋友们的私信,他们对C# WPF开发很感兴趣,但是呢,正当准备学习的时候,又有人告诉他们应…

Linux编程环境和软件设施安装

目录 一、Linux编程环境安装 1.yum安装 2. vim安装(文本编辑工具) 3. lrzsz安装(文件上传下载工具) (1) 搜索lrzsz安装包 (2) 在线安装lrzsz (3) 测试 二、Linux软件安装 1. 软件安装方…

Ubuntu 常用命令之 history 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 history命令在Ubuntu系统中用于显示用户执行过的命令列表。这个命令在bash shell中非常有用,特别是当你需要记住你之前执行过的命令时。 history命令的参数如下 -c:清除历史记录。-d offset:删…

Python如何生成随机图形验证码

python生成随机图形验证码 使用python生成随机图片验证码,需要使用pillow模块 1.安装pillow模块 pip install pillow 2.pillow模块的基本使用 1.创建图片 from PIL import Image #定义使用Image类实例化一个长为400px,宽为400px,基于RGB的(255,255,255)颜色的图片 img1Ima…

win11下配置visual studio 2022+PCL1.13.1

第一部分:visual studio2022 安装 vs官网网址如下:https://visualstudio.microsoft.com/zh-hans/vs/ 第一步:我们打开官网链接,按如下操作点击下载免费版本的exe文件 第二步:打开下载目录下的安装文件进行安装&#…

SQL 多字段条件查询

SQL 多字段条件查询 一个数据库表,几十个字段,查找任意字段里包含北京的记录,在 mysql 里这句 sql 应该是这样: SELECT * FROM table WHERE concat(field1,field2,field3……fieldn) like ‘% 北京 %’ 反正是少不了将几十个字…

【论文笔记】3D Gaussian Splatting for Real-Time Radiance Field Rendering

原文链接:https://arxiv.org/abs/2308.04079 1. 引言 网孔和点是最常见的3D场景表达,因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场(NeRF)则建立连续的场景表达便于优化,但渲染时的随机采样耗时且引入噪声…

Win11安装ise14.7~不需要虚拟机了~

之前一直无法在win11上安装ise14.7,网上搜索也无果,所有一直vmware虚拟机使用。直到最近看了水木上jesce的回复,试了下果然可以直接安装使用的。 步骤如下即可: 安装时切勿勾选最后一项,Enable WebTalk to send softwa…

Python (十五)pandas(三)

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

【vtkWidgetRepresentation】第十六期 vtkContourRepresentation(三)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkContourLineInterpolator接口的源码剖析和实例应用,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 前言 …

Collecting package metadata (current_repodata.json): failed(解决方案)

如果有重装过anaconda,在C盘的用户目录下,会有一个名叫.condarc的文件会自动生成。 当使用conda install和conda create命令会出现下面的问题:Collecting package metadata (current_repodata.json): failed 解决方案: 1.打开Anac…

深圳鼎信|配电网故障定位与预警装置_高效_快速

电能是我们生活和生产的一种主要能源。在电能供应过程中,配电网是电网的末端环节,但在能源转型的背景下,配电网逐渐成为电网发展的前沿阵地,将来也会越来越重要。 我国疆土辽阔,不同地区配电网的结构各具特色。总的来说…