Android TextView在屏幕右侧被截断

时间:2013-05-27 19:44:40

标签: android android-layout textview

以下xml中的T​​extView日期在屏幕右侧被截断。我该如何解决这个问题?

此外,我不确定我是否正确行事,但加密和签名的ImageViews将永远不会同时出现在一起,它将是或者。

<LinearLayout
                android:id="@+id/date_container"
                android:layout_width="80dip"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginTop="@dimen/date_margin_top"
                android:orientation="horizontal"
                >
                <ImageView
                    android:id="@+id/encrypted"
                    android:layout_width="36dip"
                    android:layout_height="16dip"
                    android:layout_gravity="top"
                    android:src="@drawable/badge_encrypted" />
                <ImageView
                    android:id="@+id/signed"
                    android:layout_width="36dip"
                    android:layout_height="16dip"
                    android:layout_gravity="top"
                    android:src="@drawable/badge_signed" />
                <ImageView
                    android:id="@+id/paperclip"
                    android:layout_width="36dip"
                    android:layout_height="16 dip"
                    android:layout_gravity="top"
                    android:src="@drawable/ic_badge_attachment" />
                <TextView
                    android:id="@+id/date"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/date_font_size"
                    android:text="@string/long_string"
                    android:lines="1" />
            </LinearLayout>

1 个答案:

答案 0 :(得分:0)

而不是设置固定宽度,您可以将width设置为match_parent并添加Layout_weight:

     <LinearLayout
            android:id="@+id/date_container"
            android:layout_width="80dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginTop="@dimen/date_margin_top"
            android:orientation="horizontal"
            >
            <ImageView
                android:id="@+id/encrypted"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:layout_height="16dip"
                android:layout_gravity="top"
                android:src="@drawable/badge_encrypted" />
            <ImageView
                android:id="@+id/signed"
                android:layout_width="match_parent"
                android:layout_height="16dip"
                android:layout_weight="1"
                android:layout_gravity="top"
                android:src="@drawable/badge_signed" />
            <ImageView
                android:id="@+id/paperclip"
                android:layout_width="match_parent"
                android:layout_height="16dip"
                android:layout_weight="1"
                android:layout_gravity="top"
                android:src="@drawable/ic_badge_attachment" />
            <TextView
                android:id="@+id/date"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:textSize="@dimen/date_font_size"
                android:text="@string/long_string"
                android:lines="1" />
        </LinearLayout>

但这取决于你想要什么。通常,您必须为多屏幕支持定义不同的布局资源。在此示例中,您还必须为每个imageView设置scaleType,以正确的方式缩放每个资源。