【问题标题】:priority in textviews inside a table row表格行内文本视图中的优先级
【发布时间】:2011-01-25 11:12:43
【问题描述】:

我有一个关于 textviews 的问题..

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

图像视图有 android:layout_alignParentLeft="true" 第二个文本视图有 android:layout_alignParentRight="true"

问题是当我在第一个文本视图中写一个大文本然后它越过第二个文本视图..我不想把一个特定的数字作为第一个文本视图的宽度。知道我该怎么写第一个文本视图中的大文本并且不覆盖第二个文本视图??类似于文本视图的优先级?

<?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>

【问题讨论】:

  • 不知道是不是和问题有关,但是两个内部布局好像没用。

标签: android textview android-relativelayout


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这里是您的问题的解决方案:

        <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 如果超出布局的最大宽度,可能会移到下一行。

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

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多