TextView把其它控件挤出屏幕的处理办法
1.如果TextView后面的控件是紧挨着TextView的,可以给TextView添加maxWidth限制其最大长度
上有问题的布局代码
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><import type="android.text.TextUtils" /><variablename="appCardEntity"type="cn.com.westone.cxjr.cxsdk.model.AppCardEntity" /><variablename="adapter"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardKeyDataType.AppCardKeyDataAdapter" /></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/shape_search_bg"android:orientation="vertical"android:paddingHorizontal="16dp"android:paddingVertical="8dp"><LinearLayoutandroid:id="@+id/ll_title"android:layout_width="match_parent"android:layout_height="32dp"android:gravity="center_vertical"android:orientation="horizontal"><ImageViewandroid:id="@+id/iv_icon"android:layout_width="16dp"android:layout_height="16dp"android:padding="2dp"android:src="@drawable/ic_placeholder" /><com.westone.cx.commonsdk.uikit.scaleView.CXScaleTextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:ellipsize="end"android:gravity="center_horizontal"android:maxLines="1"android:text="@{TextUtils.isEmpty(appCardEntity.cardTitle)?appCardEntity.appName:appCardEntity.cardTitle}"android:textColor="@color/cx_first_level_text_color"android:textSize="@dimen/store_font_12" /><ImageViewandroid:layout_width="16dp"android:layout_height="16dp"android:background="@drawable/arrow_right_icon"android:padding="2dp" /></LinearLayout><cn.com.westone.cx.platform.fragment.sub.component.NonScrollGridViewandroid:id="@+id/gv_data"adapter="@{adapter}"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingVertical="16dp" /></LinearLayout>
</layout>
有问题时展示效果图

解决方案布局代码
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><import type="android.text.TextUtils" /><variablename="appCardEntity"type="cn.com.westone.cxjr.cxsdk.model.AppCardEntity" /><variablename="adapter"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardKeyDataType.AppCardKeyDataAdapter" /></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/shape_search_bg"android:orientation="vertical"android:paddingHorizontal="16dp"android:paddingVertical="8dp"><LinearLayoutandroid:id="@+id/ll_title"android:layout_width="match_parent"android:layout_height="32dp"android:gravity="center_vertical"android:orientation="horizontal"><ImageViewandroid:id="@+id/iv_icon"android:layout_width="16dp"android:layout_height="16dp"android:padding="2dp"android:src="@drawable/ic_placeholder" /><com.westone.cx.commonsdk.uikit.scaleView.CXScaleTextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:ellipsize="end"android:gravity="center_horizontal"android:maxWidth="200dp" //关键代码android:maxLines="1"android:text="@{TextUtils.isEmpty(appCardEntity.cardTitle)?appCardEntity.appName:appCardEntity.cardTitle}"android:textColor="@color/cx_first_level_text_color"android:textSize="@dimen/store_font_12" /><ImageViewandroid:layout_width="16dp"android:layout_height="16dp"android:background="@drawable/arrow_right_icon"android:padding="2dp" /></LinearLayout><cn.com.westone.cx.platform.fragment.sub.component.NonScrollGridViewandroid:id="@+id/gv_data"adapter="@{adapter}"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingVertical="16dp" /></LinearLayout>
</layout>
解决完成后效果图

2.TextView控件和其它控件分别在两端展示时,TextView把其它控件挤出屏幕
上有问题的布局代码
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><import type="android.view.View" /><variablename="appEntity"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardListDataType.AppCardListDataItemEntity" /><variablename="adapter"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardListDataType.AppCardListDataTypeAdapter" /></data><RelativeLayoutandroid:id="@+id/ll_item"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:minHeight="32dp"><TextViewandroid:id="@+id/tv_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:ellipsize="end"android:gravity="left"android:maxLines="1"android:text="@{appEntity.text}"android:textColor="@color/cx_first_level_text_color"android:textSize="@dimen/store_font_12" /><TextViewandroid:id="@+id/tv_time"android:layout_width="65dp"android:layout_height="wrap_content"android:gravity="right"android:layout_alignParentRight="true"android:maxLines="1"android:text="@{appEntity.formatTime()}"android:textColor="@color/cx_second_level_text_color"android:textSize="@dimen/store_font_12"android:visibility="@{adapter.isHideTimeStamp?View.GONE:View.VISIBLE}" /></RelativeLayout>
</layout>
有问题时展示效果图

使用LinearLayout与weight属性解决方案布局代码
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><import type="android.view.View" /><variablename="appEntity"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardListDataType.AppCardListDataItemEntity" /><variablename="adapter"type="cn.com.westone.cx.platform.fragment.sub.card.AppCardListDataType.AppCardListDataTypeAdapter" /></data><LinearLayoutandroid:id="@+id/ll_item"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:minHeight="32dp"><TextViewandroid:id="@+id/tv_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ellipsize="end"android:gravity="left"android:maxLines="1"android:text="@{appEntity.text}"android:textColor="@color/cx_first_level_text_color"android:textSize="@dimen/store_font_12" /><TextViewandroid:id="@+id/tv_time"android:layout_width="65dp"android:layout_height="wrap_content"android:gravity="right"android:maxLines="1"android:text="@{appEntity.formatTime()}"android:textColor="@color/cx_second_level_text_color"android:textSize="@dimen/store_font_12"android:visibility="@{adapter.isHideTimeStamp?View.GONE:View.VISIBLE}" /></LinearLayout>
</layout>
解决后效果图

原理是:LinearLayout里添加weight属性的控件会填满其它控件绘制完后剩余的全部空间。
仅以此记录一天的解决之路
相关文章:
TextView把其它控件挤出屏幕的处理办法
1.如果TextView后面的控件是紧挨着TextView的,可以给TextView添加maxWidth限制其最大长度 上有问题的布局代码 <?xml version"1.0" encoding"utf-8"?> <layout xmlns:android"http://schemas.android.com/apk/res/android&qu…...
长度为 K 的重复字符子串数目
长度为 K 的重复字符子串 给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目。 数据范围: 2≤k≤400 , 5≤n≤900 进阶: 时间复杂度O(n),空间复杂…...
html+css+js实现轮播图
实现效果: HTML部分 <div class"carousel"><div class"carousel-wrapper"><img src"./image/1.png" alt""></div><ul class"carousel-indictor"><li class"active"…...
Boost集成模型异同
一、常见Boost集成模型 AdaBoost、GBDT和XGBoost都是集成学习中的提升(Boosting)算法,它们通过组合多个弱学习器来构建一个强学习器。从经验上来说,XGBoost是诸多竞赛的大杀器,在实际业务工作中可能需要用到集成模型的…...
【系统架构设计师】案例专题四:嵌入式系统考点梳理
更多内容请见: 备考系统架构设计师-核心总结目录 摘要:本文主要梳理系统架构设计师 - 嵌入式系统 案例考点 ,主要包括嵌入式相关概念、软件和硬件可靠性、冗余技术、软件容错、集群技术、负载均衡、可维护性的评价指标、软件维护的分类等。 文章目录 一、相关概念二、软件可…...
Ngin入门套餐
快速了解Nginx 一、代理1.1 正向代理1.2 反向代理1.3 正向代理和反向代理的区别 二、Nginx负载均衡策略2.1 轮询(Round Robin)2.2 加权轮询(Weighted Round Robin)2.3 IP 哈希(IP Hash)2.4 最少连接&#x…...
使用linux编译main.cpp文件
1、首先创建一个简单的test.cpp,使用终端命令形式: touch test.cpp 创建结束,记得ls一下,如下: 2、找到创建结束的test.cpp文件,然后右键编辑,输入一个简单的代码,如下 #include …...
服务器部署Traefik 实现子级域名路由服务(对外子域名80,路由对内大端口)
文章目录 1.Traefik安装2.启动nginx配置路由 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,领导让我调研在线发布得…...
@RequestParam @PathVirable @RequestBody @ApiParam的区别
RequestParam 最常用用value指定参数名字,required字段指定参数是否必须,默认为true,当requiredfalse时,一般配合着defaultValue"xx"使用对应的url是这样的: https://localhost/requestParam/test?key1va…...
Vulnhub靶场案例渗透[5]- DC4
文章目录 1. 靶场搭建2. 信息收集2.1 确定靶机ip2.2 主机信息收集2.3 主机目录探测 3. 渗透过程3.1 sql注入检测3.2 burp爆破3.3 反弹shell3.4 提权 4. 总结 1. 靶场搭建 靶场源地址 检验下载文件的检验码,对比没问题使用vmware打开 # windwos 命令 Get-FileHash …...
http协议概述与状态码
目录 1.HTTP概述 1.1请求报文起始行与开头 1.2响应报文起始行 1.3响应报文开头 2.http状态协议码 1.HTTP概述 默认端口 80 HTTP超文本传输与协议: 数据请求和响应 传输:将网站的数据传递给用户 超文本:图片 视频等 请求request:打开网站 访问网站 响应r…...
Golang 进阶5—— 反射
Golang 进阶5—— 反射 注意,该文档只适合有编程基础的同学,这里的go教程只给出有区别的知识点 反射: 反射可以在运行时动态获取变量的各种信息, 比如变量的类型、 类别等信息。如果是结构体变量,还可以获取结构体本…...
react 封装防抖
封装防抖 import React, { useRef, useEffect, useCallback } from react;function useDebounce(fn, delay) {const delayRef useRef(delay);const fnRef useRef(fn);// 更新ref值useEffect(() > {delayRef.current delay;}, [delay]);useEffect(() > {fnRef.current…...
Java项目-----图形验证码登陆实现
原理: 验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较. 详细解释: 图形验证码的原理(如下图代码).前端发起获取验证码的请求后, 1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的valu…...
【网络代理模块】反向代理(上)
1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当…...
2-112基于matlab的协同干扰功率分配模型
基于matlab的协同干扰功率分配模型,带操作界面的功率分配GUI,可以实现对已有功率的分配优化,可以手动输入参数值。4个干扰山区分二批总干扰功率,每个扇区包括威胁总系数、综合压制概率、目标函数增量等。程序已调通,可…...
数据结构之——二叉树
一、二叉树的基本概念 二叉树是数据结构中的重要概念,每个节点最多有两个子树,分别为左子树和右子树。这种结构具有明确的层次性和特定的性质。 二叉树有五种基本形态: 空二叉树:没有任何节点。只有一个根结点的二叉树ÿ…...
多层感知机(MLP)实现考勤预测二分类任务(sklearn)
1、基础应用: https://blog.csdn.net/qq_36158230/article/details/118670801 多层感知机(MLP)实现考勤预测二分类任务(sklearn) 2、分类器参数:https://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html 3、损失函数…...
文件与目录的基本操作
前提:使用su root 切换到权限最大的root用户 1.显示当前工作目录的绝对路径(pwd) 用途:用于显示当前工作目录的绝对路径的命令。无论用户在文件系统的哪个位置,pwd 命令都能提供当前所在位置的完整路径信息。 用法&a…...
Python入门笔记(三)
文章目录 第八章 字典dict8.1 创建字典:{}、dict()、字典生成式、zip()8.2 获取键对应的值:get()8.3 in, not in判断键是否在字典中8.4 增加键值对:fromkeys()、setdefault()、update()8.5 删除键值对:del语句、clear(…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
