2

我正在创建一个想要平滑滚动的列表视图。

我目前正在设计我的 XML 文件中的行,并且想知道选择哪个布局视图。我想要一个类似于这样的行布局:

在此处输入图像描述

ImageView我的左边会有一个,然后是两排TextView' 在彼此的顶部。(不需要那张照片上的球体

那么最有效的(在绘图方面)使用的布局是什么?我正在考虑的选项是TableLayoutRelativeLayoutLinearLayout(水平)。


额外信息: 我的列表适配器已经非常高效,并使用视图模式以及文本的预计算TextView和其他优化来获得最大的效率。这个问题专门关于列表行的布局,但感谢您的帮助!

4

2 回答 2

1

我建议您使用 aRelativeLayout这样您就可以选择放置每个组件的位置。基本上,在左侧是图像视图,然后是 2 个文本视图,一个在另一个之上。(可选)右侧的图像。

<?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="100dip"
    android:padding="3dip" >

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

    <TextView
        android:id="@+id/first_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/image"
        android:layout_toRightOf="@+id/image"
        android:textSize="30dp"
        android:textColor="#ffffff"
        android:text="Medium Text" />

    <TextView
        android:id="@+id/second_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/first_txt"
        android:layout_below="@+id/first_txt"
        android:textSize="20dp"
        android:textColor="#0481ab"
        android:text="Small Text"/>


    <ImageView
        android:id="@+id/right_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/icon" />



</RelativeLayout>
于 2013-02-03T18:47:39.237 回答
0

您可以尝试:

  1. 使用 aSpannable将所有文本显示为一个中的标记TextView
  2. 右边的图像(?)可以设置为CompoundDrawable上述的权利TextView
  3. android:drawingCacheQuality="low"如果您在背景中没有花哨的渐变,请设置。
  4. getView()如果您确实覆盖了它,请不要在 Adapter 中做一些繁重的事情。
于 2013-02-03T19:00:41.033 回答