当前位置: 首页 > 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上
http://www.lryc.cn/news/225945.html

相关文章:

  • 第十三章《搞懂算法:神经网络是怎么回事》笔记
  • SpringBoot不同环境加载不同配置文件(dev,sit,uat)
  • 2023.11.8 hadoop学习-概述,hdfs dfs的shell命令
  • Azure 机器学习 - 使用自动化机器学习训练计算机视觉模型的数据架构
  • STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写
  • 【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码
  • JUC包下面的四大天王+线程池部分知识
  • AGV系统控制位置管理功能
  • JavaScript从入门到精通系列第三十三篇:详解正则表达式语法(二)
  • 由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题
  • AI全栈大模型工程师(二十一)LangChain和SemanticKernel怎么选
  • npm install 报错 chromedriver 安装失败的解决办法
  • C语言--每日五道选择题--Day6
  • element-ui 封装 表格
  • 数据的使用、表关系的创建、Django框架的请求生命周期流程图
  • Python基础教程:类--继承和方法的重写
  • Three.js提供了多种类型的灯光
  • 精通Nginx(10)-负载均衡
  • Hls学习(一)
  • Maven打包引入本地依赖包
  • Docker常用命令及部署微服务项目
  • okhttp添加公共参数
  • 基于SpringBoot的SSMP整合案例(开启日志与分页查询条件查询功能实现)
  • android studio 修改图标
  • pytorch学习之第二课之预测温度
  • 基于Mahony互补滤波的IMU数据优化_学习笔记整理
  • c语言实现哈夫曼编码
  • Vuex:模块化Module :VCA模式
  • 【uni-app + uView】CountryCodePicker 国家区号组件
  • 思科对路由器的配置