当前位置: 首页 > 知识库问答 >
问题:

将布局元素分组到另一个组或元素的

司徒博容
2023-03-14

我正试图在另外两个文本视图的左边设置一个文本视图。我想我可以使用某种容器将它们分组,然后将第一个textview设置到包含其他两个textview的容器的左侧。但我找不到任何有效的方法。

我尝试使用relativelayout将它们组合在一起,但它似乎只填充了整个屏幕宽度,并使第一个文本视图位于屏幕的左侧。

如果我将包含其他两个文本视图的relativelayout设置为第一个文本视图的右侧,它会起作用,但是如果第一个文本视图中的文本太长,它会重叠容器及其内容,这是我不希望的。

在下面的示例中,“textview1”将包含一个较长的字符串,可能需要1-3行。另外两个只包含几个字符,但重要的是它们是可见的。

起初我把textview1放在textview2的左边,但有时textview3会比textview2宽,这会导致问题。

知道怎么解决这个问题吗?

请参见下面链接中的图片,了解它应该看起来如何,以及它现在根据要求看起来如何。

http://i.stack.imgur.com/1d5o4.png

<RelativeLayout
    android:id="@+id/RelativeLayout01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/textview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="0dp"
        android:layout_toLeftOf="@+id/RelativeLayout02"
        android:textSize="16sp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#111"
        android:background="#FF9999">
    </TextView>

    <RelativeLayout
        android:id="@+id/RelativeLayout02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:gravity="right">

        <TextView
            android:id="@+id/textview2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginTop="0dp"
            android:layout_marginLeft="0dp"
            android:gravity="right"
            android:textSize="16sp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textColor="#111"
            android:background="#99FF99">
        </TextView>

        <TextView
            android:id="@+id/textview3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/textview2"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="0dp"
            android:textSize="16sp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textColor="#111"
            android:background="#9999FF">
        </TextView>
    </RelativeLayout>
</RelativeLayout>

共有2个答案

漆雕奇逸
2023-03-14
Give the width and height for Textview1 

for example


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/textview01_layout"
        android:layout_width="240dp"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textview1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="0dp"
            android:background="#FF9999"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="parthi"
            android:textColor="#111"
            android:textSize="16sp" >
        </TextView>
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/RelativeLayout02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:gravity="right" >

        <TextView
            android:id="@+id/textview2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:background="#99FF99"
            android:gravity="right"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="parthi"
            android:textColor="#111"
            android:textSize="16sp" >
        </TextView>

        <TextView
            android:id="@+id/textview3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/textview2"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="10dp"
            android:background="#9999FF"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="parthi"
            android:textColor="#111"
            android:textSize="16sp" >
        </TextView>
    </RelativeLayout>

    <LinearLayout>
    </LinearLayout>
敖毅
2023-03-14

这是布局图,只需调整高度即可。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >


    <TextView android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="0.8"
        android:background="#ff0000"/>


    <LinearLayout 
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:layout_weight="0.2"
     >

    <TextView android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:background="#00ff00"/>

    <TextView android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#0000ff"/>

</LinearLayout>
</LinearLayout>

这是输出

 类似资料:
  • 问题内容: 我想将一个DIV元素移到另一个元素中。例如,我要移动此对象(包括所有子对象): 到这个: 这样我有: 问题答案: 曾经尝试过普通的JavaScript … 吗?

  • 问题内容: 我想将一个DIV元素移到另一个元素中。例如,我要移动此对象(包括所有子对象): 到这个: 这样我有: 问题答案: 曾经尝试过普通的JavaScript … 吗?

  • 创建一组元素,根据原始数组中的位置进行分组。 使用 Math.max.apply() 获取参数中最长的数组。 创建一个长度为返回值的数组,并使用 Array.from() 和 map-function 来创建一个分组元素数组。 如果参数数组的长度不同,则在未找到值的情况下使用 undefined 。 const zip = (...arrays) => { const maxLength =

  • 根据所提供的函数对每个元素进行迭代,将这些元素分成两个数组。 使用 Array.reduce() 创建两个数组的数组。 使用 Array.push() 将 fn 返回为 true 的元素添加到第一个数组,而 fn 返回 false 的元素到第二个元素。 const partition = (arr, fn) => arr.reduce( (acc, val, i, arr) => {

  • 问题内容: 我很难弄清楚如何移动数组元素。例如,给出以下内容: 我为什么能写入移动功能之前? 还是之后? 移动后,应更新其余元素的索引。这意味着在第一个示例中,移动后arr [0] =’a’,arr [1] =’d’arr [2] =’b’,arr [3] =’c’,arr [4] = ‘e’ 这似乎应该很简单,但是我无法将其包裹住。 问题答案: 如果您想在npm上使用一个版本,则array-mo

  • 例如,我们有一个数组: 现在我想创建d=5的数组的最大数量: array1: array2: