Android 布局 -"wrap_content" 如果内容宽度太宽,则不允许显示右侧的元素

Android Layouts -"wrap_content" is not allowing elements to the right to be displayed if the content width is too wide

我正在做的这件作品有一个设计要求,即在一行中显示一些文本,然后是一张图片。图像应始终与文本对齐,如下所示:

[一些文字] [Img]

[一些较长的文字] [Img]

为此,我在文本宽度上使用了 "wrap_content" 修饰符。然而,问题是当文本足够长以占据屏幕的宽度时,图像不会显示。我正在寻找一些东西来帮助我限制宽度的长度(不能动态完成,因为这需要快速加载)以便它总是为行尾的图像保留足够的 space。

到目前为止,我能够完成此操作的唯一方法是使用固定宽度的 TextView,最终将图像对齐到每一行的同一位置,这是不希望的。使用 "wrap_content" 以外的任何东西要么需要我在 运行 时动态设置宽度,要么错误地创建比应有的更宽或更窄的 TextView,而 "wrap_content" 似乎是什么使图像不显示。我已经尝试了 RelativeLayout、ConstraintLayout 和 LinearLayout 来实现这一点,但似乎都有同样的问题。

使用 android:drawableRight 显示您的图像,而不是使用单独的 ImageView

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:drawableRight="@drawable/android"
    android:text="short text"/>

可以用android:gravity控制text/image的垂直位置,用android:drawablePadding控制图文之间的space。