如何在TextView旁边放置一个布局,使其始终可见并靠近textview

时间:2014-02-07 03:10:37

标签: android android-layout android-linearlayout relativelayout textview

如下图所示,我需要一个布局,其中包含内容'Hello'和布局'2'的Textview始终可见,并且位于布局'1'和']'之间

{1}Hello{2}    ]
{1}Hello I..{2}]

如果textview内容太长,他们应该椭圆化 布局'2'不应右对齐父对象或']',而应位于TextView

旁边

我尝试过使用wieghts和相对布局,但似乎没有找到可行的解决方案。

任何想法/指针?

这是我的布局的瘦身版本

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/simple_white_button"
    android:orientation="horizontal" >

    <RelativeLayout
        android:id="@+id/topLayout1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.85"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingTop="5dp" >

        <ImageView
            android:id="@+id/photo"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:scaleType="centerCrop"
            android:src="@drawable/headshot_alt"
            android:visibility="visible" />

        <LinearLayout
            android:id="@+id/myRow"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/photo" >

            <TextView
                android:id="@+id/address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="2dp"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="New Jersey"
                android:textColor="@color/grey_text"
                android:textSize="16sp" />

            <LinearLayout
                android:id="@+id/weather"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginTop="2dp"
                android:layout_weight="1"
                android:gravity="left" >

                <!-- Weather -->

                <ImageView
                    android:id="@+id/imgWeather"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_notification_news"
                    android:visibility="visible" />

                <TextView
                    android:id="@+id/txtWeather"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="3dp"
                    android:gravity="center_vertical"
                    android:text="50/43"
                    android:textColor="@color/text_dark"
                    android:textSize="13sp"
                    android:visibility="visible" />
            </LinearLayout>
        </LinearLayout>
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/menu"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="0.15"
        android:background="@drawable/simple_white_button"
        android:gravity="center"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/menu_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="center"
            android:src="@drawable/ic_quickaction_default" />
    </LinearLayout>
</LinearLayout>

其中{1}是id = photo,]是id = menu,id = myRow是我想要的照片和菜单之间的textview +天气布局。我最好不要在我的地址文本视图中设置最大宽度,在最坏的情况下,当天气接触菜单时我想要它椭圆形,但是当地址很小时我想要天气旁边的地址而不是靠近菜单

希望现在更清楚了

1 个答案:

答案 0 :(得分:0)

在相对布局中,文本视图的宽度固定,布局&#39; 2&#39; as layout_toRightOf textview,如下所示:

    <TextView
        android:id="@+id/firstText"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:text="Hello String"
        android:lines="1"
        android:ellipsize="end"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/layoutTwo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/firstText"
        android:background="@android:color/white"
        android:text="Layout 2"
        android:textAppearance="?android:attr/textAppearanceMedium" />


</RelativeLayout>  

根据您的要求提供容器布局。使用fill_parent宽度,您可以调整&#34;]&#34;在布局2之后处于极右或xdp之外 你能准确地说明需要什么......我编辑我的答案