【问题标题】:Grouping layout elements toRightOf another group or element将布局元素分组到另一个组或元素的右侧
【发布时间】:2014-07-03 09:56:46
【问题描述】:

我正在尝试在其他两个文本视图的左侧设置一个文本视图。我想我可能会使用某种容器将它们分开,然后将第一个文本视图设置在包含其他两个文本视图的容器的左侧。但我没有找到任何有效的方法。

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

如果我将包含其他两个 textview 的 relativelayout 设置在第一个 textview 的右侧,它有点工作,但是如果第一个 textview 中的文本太长,它将与容器及其内容重叠,我不这样做不想这样。

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

起初我在 textview2 的左侧有 textview1,但有时 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>

【问题讨论】:

  • 请发布预期和当前输出的图像。
  • 图片已添加。可在i.stack.imgur.com/1d5o4.png
  • 那是什么?预期输出?
  • 图片包含两部分。顶部的一个是我所追求的,而黑线下方的一个是我目前得到的。我希望所有 TextView 都可见并正确排序。
  • 我的回答对您有帮助吗?

标签: android android-layout


【解决方案1】:

这是布局,只是玩弄高度。

<?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>

这是输出

【讨论】:

  • 这个可以用。谢谢。我想知道是否有可能以某种方式包装内容而不是百分比宽度。但它可能不是。
  • 安卓手机的屏幕大小不一,所以最好搭配重量。
【解决方案2】:
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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多