表格行内文本视图中的优先级

时间:2011-01-25 11:12:44

标签: android textview relativelayout

我对textviews有一个问题..

我在代码中有一个表行,其中包括一个图像视图和两个textviews .. | _ | textview1 textview2。

图片视图有android:layout_alignParentLeft =“true” 第二个textview有android:layout_alignParentRight =“true”

问题是当我在第一个文本视图中写一个大文本然后它遍历第二个textview ..我不想把一个特定的数字作为第一个textview的宽度。任何想法我怎么能写第一个textview中的大文本并不覆盖第二个textview ??对textview的优先级是什么?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/mainlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dip" >

    <ImageView
      android:id="@+id/icon"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/icon_code_contact" 
      android:layout_marginRight="5dip"
      android:layout_alignParentLeft="true" />

    <RelativeLayout
     android:id="@+id/secondlayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon" >

  <TextView
      android:id="@+id/title"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:textStyle="bold"
      android:singleLine="true" />

 </RelativeLayout> 


 <RelativeLayout
     android:id="@+id/thirdlayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
   android:layout_alignParentRight="true"
   android:layout_marginRight="25dip" >  

        <TextView
      android:id="@+id/stamp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
   android:layout_alignParentRight="true"
   android:singleLine="true" />  



 </RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

问题是您没有对中间文本视图给出正确的限制。一旦您移除了两个内部RelativeLayout(并将其布局参数移动到它们包含的TextView),您可以通过将android:toLeftOf="@id/title"添加到第二个TextView来实现。

答案 1 :(得分:0)

以下是您的问题的解决方案:

                          

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10px"
        android:text="This is text 1 for testing!">
    </TextView>

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is text 2"
        android:layout_gravity="right"
        android:layout_marginLeft="10px">
    </TextView>

    </TableRow>

注意:如果Text2超出布局的最大宽度,它可能会移到下一行。

希望它对你有所帮助。让我知道是否可以做得更好。