当前位置: 首页 > news >正文

【Android】UI开发中的一些小细节笔记

序言

本篇笔记用于记录在UI界面编写时的一些很简单但是可能一时想不起来的一些小的知识点。(持续更新…)

正文

TextView

1.当文字比较多,需要多行显示的时候,设置每行文字之间的上下的间距
android:lineSpacingExtra

根据需要调整这个值设置行间距

2.设置显示文字最多一行,超过的显示…
android:maxLines="1"
android:ellipsize="end"
3.插入图片
android:drawableLeft 等属性

用于在 TextView 中添加左侧、右侧、上方、下方的图片等。

ImageView

1.background 和 src

1.1 background 属性:用于设置视图的背景。它可以接受颜色值(如 #FF0000)、颜色资源(如 @color/red)或者是一个可绘制对象(如图片、形状、图层列表等)。背景会填充整个视图的范围,包括边框以及内部内容区域。它通常用于为视图提供装饰性的背景效果。

1.2 src 属性:用于设置视图的显示内容,通常是图像资源。它可以接受图像资源的引用,如 @drawable/image,或者是一个 Drawable 对象。该属性用于指定视图中显示的图像内容,它只影响视图的显示区域,不包括边框和其他背景效果。

2.图片填充模式
android:scaleType

fitCenter: 将图片等比例缩放以适应 ImageView 的尺寸,在缩放过程中,保持图片的居中位置。这样可以确保图片在 ImageView 中完整显示,并且保持居中对齐。

fitEnd: 将图片等比例缩放以适应 ImageView 的尺寸,在缩放过程中,保持图片的右下角对齐。这样可以保证图片的右下角与 ImageView 的右下角对齐,同时不会失真拉伸。

center: 在 ImageView 中居中显示原始大小的图片,如果图片尺寸大于 ImageView 尺寸,则图片会超出 ImageView 的范围;如果图片尺寸小于 ImageView 尺寸,则图片会按原始尺寸显示在 ImageView 中。

centerCrop: 将图片按比例扩大/缩小到 ImageView 的尺寸,并保持图片居中对齐,使得图片完全覆盖 ImageView,但可能会裁剪图片的部分内容。

centerInside: 将图片按比例缩小以适应 ImageView 的尺寸,在缩放过程中保持图片居中对齐,确保整张图片完全显示在 ImageView 中,但可能会留有一定的空白区域。

fitStart:将图片等比例缩放以适应 ImageView 的尺寸,在缩放过程中,图片会按照左上角对齐,保持图片的原始位置。换句话说,图片的左上角会与 ImageView 的左上角对齐,而图片的其他部分可能会超出 ImageView 的范围而被裁剪掉。

NestedScrollView

1.显示滑块
android:scrollbarStyle="insideOverlay"

这样的话滑块在滑动的时候显示,在平时不显示

 android:fadeScrollbars="false"

通过将android:fadeScrollbars属性设置为false,滑块将会一直显示而不会淡入淡出。这样,即使没有滑动操作,滑块也会一直可见。

RecyclerView

1.设置横向滑动显示
// 创建一个GridLayoutManager,指定每行显示4个item
GridLayoutManager layoutManager = new GridLayoutManager(this, 4, LinearLayoutManager.HORIZONTAL, false);
// 设置RecyclerView的LayoutManager
recyclerView.setLayoutManager(layoutManager);

EditText

1.设置能输入数字和小数点
android:inputType="numberDecimal"  // 可输入整数和小数
android:inputType="numberSigned"   // 可输入带正负号的整数和小数
2.键盘设置完成/搜索/下一个的按钮
android:imeOptions

actionDone:完成操作,通常用于最后一个输入框或完成特定任务。
actionGo:执行前往操作,通常用于执行搜索或导航到指定页面。
actionNext:执行下一个操作,通常用于切换到下一个输入框。
actionPrevious:执行上一个操作,通常用于切换到上一个输入框。
actionSearch:搜索操作,通常用于触发搜索功能。
actionSend:发送操作,通常用于发送消息或提交表单。
actionNone:没有特定操作,不显示任何按钮。
flagNoEnterAction:隐藏输入法中的回车按钮。

3.页面里有editetxt,页面在进入时调用键盘

在父布局上面使用

android:focusableInTouchMode="true"

占位符

<string name="width">Width : %dm</string>

在字符串中使用占位符 %d 来表示一个整数类型的占位符,然后在代码中使用 String.format() 方法来将占位符替换为实际的值。

val width = 5 // 实际的宽度值
val widthText = String.format(getString(R.string.width), width)
textView.text = widthText // 将文本设置到TextView上

在字符串中使用占位符 %f 来表示一个浮点数类型的占位符

<string name="width">Width : %.1fm</string>

这里面【.1】 表示保留一位小数

val rowSpacing = 0.6 // 实际的值
val rowSpacingText = String.format(getString(R.string.width), rowSpacing)
textView.text = rowSpacingText // 将文本设置到TextView上

相关文章:

【Android】UI开发中的一些小细节笔记

序言 本篇笔记用于记录在UI界面编写时的一些很简单但是可能一时想不起来的一些小的知识点。(持续更新…) 正文 TextView 1.当文字比较多&#xff0c;需要多行显示的时候&#xff0c;设置每行文字之间的上下的间距 android:lineSpacingExtra根据需要调整这个值设置行间距 …...

第十三章《搞懂算法:神经网络是怎么回事》笔记

目前神经网络技术受到追捧&#xff0c;一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善&#xff0c;使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升&#xff0c;如图形处理器(Graphics Processing Unit&#xff0c;GPU)在神…...

SpringBoot不同环境加载不同配置文件(dev,sit,uat)

目录 一、springboot的profile配置profile多配置文件 二、maven的profiles策略 我们在使用spring的时候&#xff0c;一般都会有不同的环境需要部署&#xff1a;开发环境、测试环境和验收环境&#xff0c;而不同的环境则会有不同的配置&#xff0c;比如数据库ip。解决这个问题&a…...

2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…...

Azure 机器学习 - 使用自动化机器学习训练计算机视觉模型的数据架构

目录 一、用于训练的数据架构图像分类&#xff08;二进制/多类&#xff09;多标签图像分类对象检测实例分段 二、用于联机评分的数据架构输入格式输出格式图像分类&#xff08;二进制/多类&#xff09;多标签图像分类对象检测实例分段 在线评分和可解释性 (XAI) 的数据格式支持…...

STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写

STM32F4X SDIO &#xff08;九&#xff09; 例程讲解-SD卡擦除、读写 例程讲解-SD卡擦除、读写SD卡擦除CMD32:ERASE_WR_BLK_START命令发送命令响应 CMD33:ERASE_WR_BLK_END命令发送命令响应CMD38:ERASE命令响应 CMD13:SD_CMD_SEND_STATUS命令发送命令回应 SD卡读数据CMD16:SET_…...

【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码

目录 1. 监督学习 (Supervised Learning): 2. 无监督学习 (Unsupervised Learning): 3. 强化学习 (Reinforcement Learning): 4. 半监督学习 (Semi-Supervised Learning): 5. 自监督学习 (Self-Supervised Learning): 6. 迁移学习 (Transfer Learning): 7 机器学习范式应…...

JUC包下面的四大天王+线程池部分知识

一)Semphore:限流器用我就对了 Java中信号量Semphore是把操作系统原生的信号量封装了一下&#xff0c;本质就是一个计数器&#xff0c;描述了 可用资源的个数&#xff0c;主要涉及到两个操作 如果计数器为0了&#xff0c;继续Р操作&#xff0c;就会出现阻塞等待的情况 P操作:申…...

AGV系统控制位置管理功能

# ファイル: agv_locattion.py # 説明: AGV (Automated Guided Vehicle) の位置情報を管理し、UDPサーバーとして動作するGUIアプリケーションです。 # 必要なライブラリをインポート import tkinter as tk import socket import threading def AGV_handle_submit(canvas, st…...

JavaScript从入门到精通系列第三十三篇:详解正则表达式语法(二)

文章目录 一&#xff1a;正则表达式 1&#xff1a; 检查一个字符串中是否有. 2&#xff1a;第二种关键表达 3&#xff1a;第三种关键表达 ​编辑4&#xff1a;第四种关键表达 5&#xff1a;第五种关键表达 6&#xff1a;第六种关键表达 二&#xff1a;核心表达二 1&am…...

由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题

电脑出现d3dx9_43.dll缺失的问题&#xff0c;通常是由于DirectX组件未安装或损坏导致的。为了解决这个问题&#xff0c;我为您提供了以下四个解决方法&#xff1a; d3dx9_43.dll解决方法1. 使用dll修复程序修复 首先&#xff0c;使用系统文件程序dll进行修复操作非常简单&…...

AI全栈大模型工程师(二十一)LangChain和SemanticKernel怎么选

LangChain 和 Semantic Kernel 怎么选&#xff1f; #%% md 划重点&#xff1a; 两者都值得学C#、JavaScript 和 Java 现在没得选做原型&#xff0c;首选 LangChain。功能多&#xff0c;开发快做产品&#xff0c;还是 SK 长期更可依赖建议只用 SK 的 Connectors 和 Plugins 能力…...

npm install 报错 chromedriver 安装失败的解决办法

npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver...

C语言--每日五道选择题--Day6

第一题 1、声明以下变量&#xff0c;则表达式: ch/i (f*d – i) 的结果类型为&#xff08; &#xff09; char ch; int i; float f; double d; A: char B: int C: float D: double 答案及解析 D 基本数据类型的等级从低到高如下&#xff1a;char-> int-> long-> f…...

element-ui 封装 表格

一、封装表格组件 <template><el-table :data"list" :default-sort"{ prop: date }" style"width: 100%"><template v-for"item in tableColumn"><el-table-columnv-if"item.filters":prop"item…...

数据的使用、表关系的创建、Django框架的请求生命周期流程图

目录 一、数据的增删改查 1. 用户列表的展示 2. 修改数据的逻辑分析 3. 删除功能的分析 二、如何创建表关系 三、Django的请求生命周期流程图 一、数据的增删改查 1. 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 查询数据 def userlist(request):&qu…...

Python基础教程:类--继承和方法的重写

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 什么是继承 继承就是让类与类之间产生父子关系&#xff0c;子类可以拥有父类的静态属性和方法 继承就是可以获取到另一个类中的静态属性和普通方法&#xff08;并非所有成员&#xff09; 在python中&#xff0c;新建的类可…...

Three.js提供了多种类型的灯光

Three.js提供了多种类型的灯光&#xff0c;包括环境光、点光源、平行光源和聚光灯。这些灯光可以用来照亮场景中的物体&#xff0c;使其看起来更加真实。 环境光(AmbientLight)&#xff1a;环境光会均匀地照亮场景中的所有物体&#xff0c;没有方向&#xff0c;不能用来投射阴…...

精通Nginx(10)-负载均衡

负载均衡就是将前端过来的负载分发到两台或多台应用服务器。Nginx支持多种协议的负载均衡,包括http(s)、TCP、UDP(关于TCP、UDP负载均衡另文讲述)等。 目录 HTTP负载均衡 负载均衡策略 轮询 least_conn(最少连接) hash(通用哈希) ip_hash(IP 哈希) random(随…...

Hls学习(一)

1&#xff1a;CPU、DSP、GPU都算软件可编程的硬件 2&#xff1a;dsp在递归方面有所减弱&#xff0c;在递归方面有所增强&#xff0c;比如递归啊等&#xff0c;GPU可以同时处理多个进程&#xff0c;对于大块数据&#xff0c;流处理比较适用 3&#xff1a;为了提高运算量处理更多…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...