当前位置: 首页 > 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;为了提高运算量处理更多…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...