如何使 Android 视图的宽度等于(父视图宽度减去某个常量)

3
我有一个布局,并且我想让一个视图填充除了末尾的50dp宽度图像之外的所有剩余空间。当我将第一个视图的宽度设置为match_parent时,它会占据整个视图,无论我将图像的宽度设置为多少,它都会被放置在屏幕边界之外。以下是发生的情况:
但我想要它像这样:(通过将第一个视图的宽度设置为常量来实现演示,但我绝对不希望这样做,因为它应该填充动态数量的宽度)
这是我的当前布局:
问题出在垂直线性布局中,它位于头像视图下方的层次结构中。它占据了正确的空间,但它的子项没有按照我想要的方式工作。
如何实现所需的布局?

你是如何设计你的布局的?你使用了权重吗?可以把布局发出来看看吗? - KOTIOS
你使用了哪种类型的布局? - CAS
@Diva,我已经更新了问题。 - Can Poyrazoğlu
@ChadiAbouSleiman 我已经更新了问题。 - Can Poyrazoğlu
2个回答

3

看看这个例子。主要思想是设置android:layout_width="0dp"android:layout_weight="1",使视图占据所有可用空间。在我的例子中,它是TextView,在你的例子中可以是其他布局或任何其他内容。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ....
        />
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        ....
        />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ...
        />

</LinearLayout>

更新

更多信息可以在此处找到 问题.


它起作用了!将TextView的layout_weight设置为1正是我所需要的。感谢您提供的示例! - Can Poyrazoğlu

1
使用RelativeLayout制作布局,并将中心TextView元素的属性设置为在右侧的ImageView的to_rightof。无论图像的大小如何,文本视图都会自动调整其宽度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接