【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.当文字比较多,需要多行显示的时候,设置每行文字之间的上下的间距 android:lineSpacingExtra根据需要调整这个值设置行间距 …...
第十三章《搞懂算法:神经网络是怎么回事》笔记
目前神经网络技术受到追捧,一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善,使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升,如图形处理器(Graphics Processing Unit,GPU)在神…...
SpringBoot不同环境加载不同配置文件(dev,sit,uat)
目录 一、springboot的profile配置profile多配置文件 二、maven的profiles策略 我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和验收环境,而不同的环境则会有不同的配置,比如数据库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 机器学习 - 使用自动化机器学习训练计算机视觉模型的数据架构
目录 一、用于训练的数据架构图像分类(二进制/多类)多标签图像分类对象检测实例分段 二、用于联机评分的数据架构输入格式输出格式图像分类(二进制/多类)多标签图像分类对象检测实例分段 在线评分和可解释性 (XAI) 的数据格式支持…...
STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写
STM32F4X SDIO (九) 例程讲解-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是把操作系统原生的信号量封装了一下,本质就是一个计数器,描述了 可用资源的个数,主要涉及到两个操作 如果计数器为0了,继续Р操作,就会出现阻塞等待的情况 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从入门到精通系列第三十三篇:详解正则表达式语法(二)
文章目录 一:正则表达式 1: 检查一个字符串中是否有. 2:第二种关键表达 3:第三种关键表达 编辑4:第四种关键表达 5:第五种关键表达 6:第六种关键表达 二:核心表达二 1&am…...
由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题
电脑出现d3dx9_43.dll缺失的问题,通常是由于DirectX组件未安装或损坏导致的。为了解决这个问题,我为您提供了以下四个解决方法: d3dx9_43.dll解决方法1. 使用dll修复程序修复 首先,使用系统文件程序dll进行修复操作非常简单&…...
AI全栈大模型工程师(二十一)LangChain和SemanticKernel怎么选
LangChain 和 Semantic Kernel 怎么选? #%% md 划重点: 两者都值得学C#、JavaScript 和 Java 现在没得选做原型,首选 LangChain。功能多,开发快做产品,还是 SK 长期更可依赖建议只用 SK 的 Connectors 和 Plugins 能力…...
npm install 报错 chromedriver 安装失败的解决办法
npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver...
C语言--每日五道选择题--Day6
第一题 1、声明以下变量,则表达式: ch/i (f*d – i) 的结果类型为( ) char ch; int i; float f; double d; A: char B: int C: float D: double 答案及解析 D 基本数据类型的等级从低到高如下: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基础教程:类--继承和方法的重写
嗨喽,大家好呀~这里是爱看美女的茜茜呐 什么是继承 继承就是让类与类之间产生父子关系,子类可以拥有父类的静态属性和方法 继承就是可以获取到另一个类中的静态属性和普通方法(并非所有成员) 在python中,新建的类可…...
Three.js提供了多种类型的灯光
Three.js提供了多种类型的灯光,包括环境光、点光源、平行光源和聚光灯。这些灯光可以用来照亮场景中的物体,使其看起来更加真实。 环境光(AmbientLight):环境光会均匀地照亮场景中的所有物体,没有方向,不能用来投射阴…...
精通Nginx(10)-负载均衡
负载均衡就是将前端过来的负载分发到两台或多台应用服务器。Nginx支持多种协议的负载均衡,包括http(s)、TCP、UDP(关于TCP、UDP负载均衡另文讲述)等。 目录 HTTP负载均衡 负载均衡策略 轮询 least_conn(最少连接) hash(通用哈希) ip_hash(IP 哈希) random(随…...
Hls学习(一)
1:CPU、DSP、GPU都算软件可编程的硬件 2:dsp在递归方面有所减弱,在递归方面有所增强,比如递归啊等,GPU可以同时处理多个进程,对于大块数据,流处理比较适用 3:为了提高运算量处理更多…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
