我有如下所示的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>
答案 0 :(得分:1)
尝试android:layout_weight="1"
或locationTextView
的其他值。您也可以在根android:weightSum="3"
上试用LinearLayout
(或适当而不是3)。为您的不同子视图指定适当的权重。您可以获得帮助here
要以可呈现的方式显示文字,您可以使用android:ellipsize="marquee"
或其他可用选项。