如何设置textView尽可能正确并设置textView只显示文本的一部分?

时间:2015-05-26 21:00:27

标签: android xml android-layout android-studio

我有如下所示的xml代码。一切都正常,除了最终的textView(id locationTextView),它不会保持正确。我希望它尽可能地保持正确,但我不能这样做(它仍然在线性布局之后直接显示)。我应该设置左边距吗?对于textView1我怎样才能使它只显示整个文本的某个部分,因为我有不同长度的文本,它们破坏了布局。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/product_list_item_bg"
    android:descendantFocusability="blocksDescendants">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/icon"
            android:layout_width="72dip"
            android:layout_height="72dip"
            android:layout_margin="3dip"
            android:adjustViewBounds="true"
            android:contentDescription="@string/descr_image"
            android:scaleType="centerCrop" />

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

            <TextView
                android:id="@+id/item"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#33CC33" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:text="TextView" />

        </LinearLayout>
        <TextView
            android:gravity="right"
            android:layout_width="72dip"
            android:layout_height="72dip"
            android:layout_marginTop="0dp"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:id="@+id/locationTextView"
            android:layout_gravity="right" />
    </LinearLayout>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

尝试android:layout_weight="1"locationTextView的其他值。您也可以在根android:weightSum="3"上试用LinearLayout(或适当而不是3)。为您的不同子视图指定适当的权重。您可以获得帮助here

要以可呈现的方式显示文字,您可以使用android:ellipsize="marquee"或其他可用选项。