Android 布局 - 如果内容宽度太宽,“wrap_content”不允许显示右侧的元素
Posted
技术标签:
【中文标题】Android 布局 - 如果内容宽度太宽,“wrap_content”不允许显示右侧的元素【英文标题】:Android Layouts -"wrap_content" is not allowing elements to the right to be displayed if the content width is too wide 【发布时间】:2019-05-06 08:48:38 【问题描述】:我正在处理的这件作品的设计要求是在一行中显示一些文本,然后是图像。图像应始终与文本对齐,如下所示:
[一些文字] [图片]
[一些较长的文本] [Img]
为此,我在文本宽度上使用了“wrap_content”修饰符。然而,问题是当文本足够长以占据屏幕的宽度时,图像不会显示。我正在寻找一些东西来帮助我限制宽度的长度(不能动态完成,因为这需要快速加载),以便始终为行尾的图像保留足够的空间。
到目前为止,我能够做到这一点的唯一方法是使用固定宽度的 TextView,它最终将图像对齐到每一行的同一位置,这是不希望的。使用“wrap_content”以外的任何东西要么需要我在运行时动态设置宽度,要么错误地创建比应有的更宽或更窄的 TextView,并且“wrap_content”似乎是造成它的原因,因此图像不显示.我已经尝试过 RelativeLayout、ConstraintLayout 和 LinearLayout 来实现这一点,但似乎都有同样的问题。
【问题讨论】:
文本太长无法显示img,因为行长有限。 感谢您的回复,但您能解释一下您的意思吗?行长当然受父元素宽度的限制,但即使我尝试将元素限制在指南的最大宽度,它仍然会溢出它。 【参考方案1】:使用android:drawableRight
来显示您的图像,而不是使用单独的ImageView
。
<TextView
android:layout_
android:layout_
android:gravity="center"
android:drawableRight="@drawable/android"
android:text="short text"/>
您可以使用android:gravity
控制文本/图像的垂直位置,使用android:drawablePadding
控制图像和文本之间的间距。
【讨论】:
这正是我所需要的。感谢您提供详细信息和示例以上是关于Android 布局 - 如果内容宽度太宽,“wrap_content”不允许显示右侧的元素的主要内容,如果未能解决你的问题,请参考以下文章
bootstrap table 表格太宽,设置的width属性不起作用怎么办
bootstrap table 表格太宽,设置的width属性不起作用怎么办