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属性的控件会填满其它控件绘制完后剩余的全部空间。

仅以此记录一天的解决之路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1560378.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Github优质项目推荐 - 第六期

文章目录 Github优质项目推荐 - 第六期一、【WiFiAnalyzer】&#xff0c;3.4k stars - WiFi 网络分析工具二、【penpot】&#xff0c;33k stars - UI 设计与原型制作平台三、【Inpaint-Anything】&#xff0c;6.4k stars - 修复图像、视频和3D 场景中的任何内容四、【Malware-P…

搭建 golang 项目的目录介绍及其用途对比表

文章目录 1.目录细则表2.目录使用说明及典型内容2.例 K8S 源码目录编排 1.目录细则表 常见 Go 项目目录的作用、典型内容、文件类型和使用场景~ 目录名作用/用途常见文件类型使用场景及详细说明典型内容举例cmd/存放可执行文件的入口点&#xff0c;通常为项目主程序入口或工具…

微软最新 Office 办公软件2025下载 – Microsoft 365 正版优惠订阅

​ 以前 Office 365 是微软打造的「办公软件订阅」服务。订阅后&#xff0c;用户可以在多个平台使用Word、Excel、PowerPoint、OneDrive云存储网盘等正版办公应用。 微软希望这种订阅方式能够推广到更多的产品和用户&#xff0c;于是决定将 Office 365 升级为全新的「Microsoft…

linux线程 | 线程的概念

前言:本篇讲述linux里面线程的相关概念。 线程在我们的教材中的定义通常是这样的——线程是进程的一个执行分支。 线程的执行粒度&#xff0c; 要比进程要细。 我们在读完这句话后其实并不能很好的理解什么是线程。 所以&#xff0c; 本节内容博主将会带友友们理解什么是线程&a…

连肝了多天学习MySQL索引与性能优化,详细总结一下索引的使用与数据库优化

文章目录 索引是什么&#xff1f;索引的作用初步认识索引索引的类型按照数据结构分类BTREE索引 哈希索引 按功能逻辑进行分类唯一索引普通索引主键索引全文索引 按照字段的个数进行划分单列索引多列&#xff08;组合&#xff0c;联合&#xff09;索引 小结索引的设计原则数据准…

K8s中pod的管理和优化

一、k8s中的资源 1.1 资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象 资源&#xff0c;用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务所谓的部署服务&#xff0c;其实就是在kubernetes集群中…

基于SpringBoot+Vue的非物质文化遗产保护与传播系统设计实现【原创】(地图组件)

&#x1f388;系统亮点&#xff1a;地图组件&#xff1b; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框架Vue.js&#x…

软件项目必须进行验收测试吗?专业验收测试报告如何获取?

软件项目验收测试是一种关键的质量保证活动&#xff0c;旨在确保软件产品符合用户需求和预期功能。它通常是在软件开发完成后&#xff0c;由客户或第三方测试机构进行的最终测试环节。验收测试的目的是确认软件的性能、功能、安全性和其他特性&#xff0c;以确保交付的产品能够…

不是 PHP 不行了,而是 MySQL 数据库扛不住啊

大多数的业务场景下 PHP 还没有达到性能瓶颈&#xff0c;然而 MySQL 数据库就先行驾崩了。但我们总是不分青红皂白&#xff0c;一股脑的把原因归结于是 PHP 语言不行了&#xff0c;每当遇到这种情形我就会感叹到 PHP 的命真苦啊。PHP 作为一门优秀的开源编程语言&#xff0c;在…

CAS存在的问题及在Java中的解决方式

CAS 介绍 CAS 可以保证对共享变量操作的原子性 CAS全称Compare And Swap&#xff0c;比较与交换&#xff0c;是乐观锁的主要实现方式。CAS在不使用锁的情况下实现多线程之间的变量同步。ReentrantLock内部的AQS和原子类内部都使用了CAS。 CAS算法涉及到三个操作数&#xff1a;需…

深度学习500问——Chapter17:模型压缩及移动端部署(4)

文章目录 17.9 常用的轻量级网络有哪些 17.9.1 SequeezeNet 17.9.2 MobileNet 17.9.3 MobileNet-v2 17.9.4 Xception 17.9 常用的轻量级网络有哪些 17.9.1 SequeezeNet SqueezeNet出自 F.N.landola, S.Han等人发表的论文《SqueezeNet&#xff1a;ALexNet-level accuracy with…

python文件,异常,模块,正则思维导图

python文件操作 python异常处理 python模块和包 python正则表达式

强大的PDF到Word转换工具

Solid Converter&#xff1a;强大的PDF到Word转换工具推荐 在日常工作和学习中&#xff0c;PDF是最常用的文件格式之一。然而&#xff0c;编辑PDF文档并不总是那么方便&#xff0c;尤其是当你需要将PDF文件转换为Word文档时。Solid Converter 是一款强大的工具&#xff0c;专为…

高效美发店运营:SpringBoot管理系统详解

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理美发门店管理系统的相关信息成为必然。开发…

鸿蒙开发(NEXT/API 12)【HTTP数据请求】网络篇

场景介绍 应用通过HTTP发起一个数据请求&#xff0c;支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 接口名描述createHttp()创建一个http请求…

解决SqlServer自增主键使用MybatisPlus批量插入报错问题

报错 SqlServer 表中主键设置为自增&#xff0c;会报以下错误。 org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获…

LangChain: AI大语言模型的新篇章

本文介绍了LangChain框架&#xff0c;它能够将大型语言模型与其他计算或知识来源相结合&#xff0c;从而实现功能更加强大的应用。接着&#xff0c;对LangChain的关键概念进行了详细说明&#xff0c;并基于该框架进行了一些案例尝试&#xff0c;旨在帮助读者更轻松地理解LangCh…

springboot查询全部部门流程

前端发送请求后&#xff0c;会请求DeptController的方法list()。 package com.intelligent_learning_aid_system.controller;import com.intelligent_learning_aid_system.pojo.Dept; import com.intelligent_learning_aid_system.pojo.Result; import com.intelligent_learni…

SpringBoot美发门店管理系统:提升服务效率

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

360 度评估的优缺点

什么是 360 度评估&#xff1f; “360 度评估是一种人才培养工具&#xff0c;用于为接受者提供全方位的反馈&#xff0c;这通常包括来自他们直接下属的向上反馈、来自与他们密切合作的同事的反馈&#xff0c;以及来自他们经理的向下反馈。” 通常&#xff0c;360 度评估是匿名…