0

我无法得到我想要做的正确观点。我想在左侧设置一个图标,在右侧设置 2 个文本视图。我的问题是我看不到第二个文本视图,而第一个似乎太大了。

这是我的 XML:

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLa"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageView 
      android:id="@+id/image"
      android:layout_width="50dip"
      android:layout_height="50dip"
      android:scaleType="centerCrop"
      android:src="@drawable/rss" />
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/linear"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" android:layout_gravity="left|center_vertical">
      <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:textSize="20dip" />
      <TextView
        android:id="@+id/pubdate"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:textSize="10dip" />
    </LinearLayout>
  </LinearLayout>
4

5 回答 5

1

试试这个:这是因为您正在设置文本视图以填充父级的宽度(这是第二个线性布局)。但它们需要用内容来包装。如果您仍然希望它们在宽度上占据相等的空间,您可以在第二个线性布局中再次保持文本视图的权重,就像我在第一个线性布局中所做的那样,它是子级。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLa"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:weightSum="30" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:scaleType="centerCrop"
        android:src="@drawable/ic_launcher"
        android:layout_weight="10" />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="20" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "textview1"
        android:layout_marginLeft="10dip"
        android:textSize="20dip" />

    <TextView
        android:id="@+id/pubdate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "textview2blahblahblahblahblah"
        android:layout_marginLeft="10dip"
       />
</LinearLayout>
</LinearLayout>

在此处输入图像描述

于 2012-12-29T10:19:54.857 回答
0

在 TextViews 上,将两者的宽度更改为android:layout_width="wrap_content"

于 2012-12-29T10:15:05.020 回答
0

试试这个代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLa"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:scaleType="centerCrop"
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/linear"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_weight="1"
            android:text="TextView"
            android:textSize="20dip" />

        <TextView
            android:id="@+id/pubdate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_weight="1"
            android:text="TextView"
            android:textSize="20dip" />
    </LinearLayout>

</LinearLayout>
于 2012-12-29T10:17:39.210 回答
0

用以下代码替换您的 XML

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLa"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

   <ImageView 
      android:id="@+id/image"
      android:layout_width="50dip"
      android:layout_height="50dip"
      android:scaleType="centerCrop"
      android:src="@drawable/rss" />

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/linear"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        android:orientation="vertical" >

      <TextView
          android:id="@+id/text"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginLeft="10dip"
          android:layout_weight="1"
          android:textSize="20dip" />

      <TextView
          android:id="@+id/pubdate"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginLeft="10dip"
          android:layout_weight="1"
          android:textSize="20sp" />

    </LinearLayout>
  </LinearLayout>
于 2012-12-29T10:21:58.393 回答
-1

使用这个 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:id="@+id/linearLa"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/accident" />

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

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>
于 2012-12-29T10:18:45.390 回答