Android布局问题 - 当其他视图太长时,项目会被隐藏

时间:2015-07-23 11:15:40

标签: android layout

您好我正在创建用户列表的布局,其中包括名称和有时通知图标。问题是名称(绿色矩形)可以有任何宽度,当名称太长时,通知图标(红色矩形)被其容器(黑色矩形)边界隐藏。

http://postimg.org/image/6o7np9lx3/

它应该做的是,当通知图标消失时,名称可以采用其容器允许的任何宽度。但是当出现通知图标时,它永远不应该隐藏在容器的右侧,而只是将其移动到右侧。此外,通知图标应位于名称的右侧。 容器的宽度最后取决于屏幕宽度。

基本上就是这样:

http://postimg.org/image/94a0rxy1d/

  1. 通知和简短文字
  2. 通知和长文
  3. 没有通知和长文
  4. 希望我很清楚:-) 我会直接在这里上传图片,但我没有足够的声誉......

    编辑:添加我创建的布局:

    <RelativeLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/relativeLayout3"
        android:paddingTop="0dp"
        android:paddingRight="0dp"
        android:paddingBottom="0dp"
        android:paddingLeft="0dp"
        android:layout_marginTop="8dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/CMCname"
            android:layout_centerVertical="true"
            android:ellipsize="middle"
            android:textSize="16dp"
            android:textStyle="bold"
            android:textColor="#ff181818" />
        <RelativeLayout
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/relativeLayout4"
            android:layout_toRightOf="@id/CMCname"
            android:layout_marginLeft="7dp">
            <ImageView
                android:src="@android:drawable/ic_menu_gallery"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/CMCMessageCounterBG" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/CMCmessageCounter"
                android:layout_centerInParent="true" />
        </RelativeLayout>
    </RelativeLayout>
    

1 个答案:

答案 0 :(得分:0)

如果您的图标是静态的,那么您可以直接将其作为可绘制的文本视图,并且它可以正常工作。

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:drawableRight="@drawable/ic_launcher"
android:gravity="left|center"
android:padding="10dp"
android:text="Your text goes here" />

希望它有效。 :)