美文网首页
Android 水平布局的场景下如何实现在控件B显示完整后剩余空

Android 水平布局的场景下如何实现在控件B显示完整后剩余空

作者: 乐雨252 | 来源:发表于2021-09-11 11:40 被阅读0次

在开发过程中,会遇到如下的产品需求,A,B两个文本控件在同一个水平方向显示,要求是在B完整显示后,把屏幕的剩余空间留给A显示,A显示不下省略号处理:

示例图

这种需求其实主要是不想把A的最大宽度写死,因为B的宽度上司不确定的,为了尽量利用屏幕,我们需要在B完整显示后把剩余的屏幕空间给A。

上面B的宽度也不能写死,但是一般B的宽度不会超过整个屏幕宽度。

一种实现方法可能需要通过代码计算A的最大宽度,然后给A设置最大宽度。

这里介绍一种不需要计算的方法:

直接通过xml布局的方式实现:

使用水平的LinearLayout,将A、B包裹,将A的宽度通过android:layout_weight="1"的方式设置,B的宽度设置为wrap_content,示例如下:

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

    <TextView

        android:id="@+id/A"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_weight="1"

        android:ellipsize="end"

        android:maxLines="1" />

    <TextView

        android:id="@+id/B"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" />

</LinearLayout>


    好了,通过上面的方法,可以在不添加手动计算逻辑的情况下完成产品的需求,大功告成!

相关文章

网友评论

      本文标题:Android 水平布局的场景下如何实现在控件B显示完整后剩余空

      本文链接:https://www.haomeiwen.com/subject/bmnowltx.html