重叠文本视图

时间:2013-04-12 01:16:29

标签: android

xml file 

    RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/list_selector" 
    android:orientation="horizontal" 
    android:padding="5dip">

    <LinearLayout 
    android:id="@+id/thumbnail" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_marginRight="5dip" 
    android:padding="3dip">
   <ImageView 
      android:id="@+id/icon" 
      android:layout_width="80dip" 
      android:layout_height="80dip" 
      android:layout_gravity="top" 
      android:contentDescription="@string/app_name" 
      android:src="@drawable/high" /> 
   </LinearLayout>

   <TextView 
      android:id="@+id/newsaddress" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@+id/icon" 
      android:layout_toRightOf="@+id/icon" 
      android:layout_marginLeft="75dip" 
      android:layout_centerVertical="true" 
      android:paddingBottom="9dip" 
      android:text="Cebu City" 
      android:textColor="#040404" 
      android:textSize="25dip" 
      android:textStyle="bold" 
      android:typeface="sans" /> 

   <TextView 
      android:id="@+id/newsdate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/newsaddress" 
      android:layout_alignLeft="@+id/newsaddress" 
      android:layout_alignBottom="@+id/icon" 
      android:paddingTop="5dip" 
      android:layout_centerHorizontal="true" 
      android:text="January 1 2000" 

      android:textColor="#343434" 
      android:textSize="15dip" /> 
    <TextView 
      android:id="@+id/newstitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="20dip" 
      android:layout_alignTop="@+id/newsaddress" 
      android:text="Fire" 
      android:textSize="30dip" /> 
   </RelativeLayout>

list xml 
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <ListView
        android:id="@+id/newslist"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    </LinearLayout>

我有一个带有图像和几个文本视图的列表视图我的问题是,当文本太长时,他们互相重叠我已经尝试了几个帖子,如How to adjust text font size to fit textview和这一个{ {3}}但他们确实为我工作我怎么可能在这里解决这个问题是这个程序的结果,重叠文本来自第二个文本视图

1 个答案:

答案 0 :(得分:1)

你有一些小问题。

这些行无效:

  android:layout_alignTop="@+id/icon" 
  android:layout_toRightOf="@+id/icon

你不能从LinearLayout中引用一个id来排列相对布局中的东西,即使它们都在同一个大布局中。

我更改了一些布局,并添加了一些更大的字符串来测试它,并更改了一些填充,因为它有点像因为图标的东西,很可能。

enter image description here

这是我使用的代码。我确定它不完全是你想要的,但我认为它指出了如何解决一些问题。

<?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/grey"
        android:orientation="horizontal"
        android:padding="5dip">

<LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:padding="3dip">
    <ImageView
            android:id="@+id/icon"
            android:layout_width="80dip"
            android:layout_height="80dip"
            android:layout_gravity="top"
            android:contentDescription="@string/app_name"
            android:background="@color/white" />
</LinearLayout>

<TextView
android:id="@+id/newsaddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:layout_marginLeft="2dp"
android:layout_centerVertical="true"
android:paddingBottom="0dip"
android:text="Cebu City in the south of france"
android:textColor="#040404"
android:textSize="25dip"
android:textStyle="bold"
android:typeface="sans" />

<TextView
android:id="@+id/newsdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/newsaddress"
android:layout_alignLeft="@+id/newsaddress"
android:paddingTop="1dip"
android:layout_centerHorizontal="true"
android:text="January 1 2000"

android:textColor="#343434"
android:textSize="15dip" />
<TextView
android:id="@+id/newstitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dip"
android:layout_below="@id/newsdate"
android:text="Fire is exploding all around us now"
android:textSize="30dip" />
        </RelativeLayout>