无法在布局中获得Textviews

时间:2015-08-28 16:23:13

标签: android mobile layout

这是我需要实现的目标:

| TEXTVIEW1 | TEXTVIEW2 | BUTTON |

TV1可以随心所欲地增长,但只需占用内部显示文本所需的空间。如果文本大于它所拥有的空间那么它将会椭圆化。 TV2必须始终位于TV1文本的右侧,并且必须显示其所有内容。它不能有椭圆形。它总是要显示它的文本。 TV1和2是单线。 按钮固定在屏幕右侧。

示例1:

TV1 =这是文本太长的文本 TV2 = 1923

|这是一篇文章... 1923年按钮|

示例2:

TV1 =就是这样 TV2 = 1923

| JUST THIS1923 ________ BUTTON |

(忽略下划线)

我尝试过千种不同的权重组合,wrap_content等等......但仍然无法做到正确。

请帮忙!

3 个答案:

答案 0 :(得分:1)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"*
        android:ellipsize"end" />

    <TextView
        android:id="@+id/tv2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

这是您需要达到所需尺寸的尺码。在这些xml属性之后,您可以添加要应用的任何其他样式,如颜色或文本。我主演单行,因为这将阻止它垂直增长。如果您希望文本在行中对齐,即使文本小于屏幕,请将 android:gravity =&#34;右&#34; 添加到 tv1

答案 1 :(得分:0)

我为你创造了一些小东西,我认为它是你想要的东西。你可能不知道的是我相信的maxLength和singleLine部分。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:maxWidth="100dp"
            android:singleLine="true"
            android:text="I Just this helo this is long"
            android:layout_height="wrap_content"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    </LinearLayout>
    <Button
        android:layout_width="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_height="wrap_content"/>
</RelativeLayout>

答案 2 :(得分:0)

试试这个。

 <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
<TextView
    android:id="@+id/textview1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_weight="1.0"
    android:text="textview1" />
<TextView
    android:id="@+id/textview2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/textview1"
    android:layout_weight="1.0"
    android:text="textview2" />
<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1.0"
    android:text="button"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />
</RelativeLayout>