Listview 中的潜台词

Posted

技术标签:

【中文标题】Listview 中的潜台词【英文标题】:Subtext in Listview 【发布时间】:2013-12-10 13:06:03 【问题描述】:

我有一个带有自定义适配器的列表视图。我正在尝试在项目下显示潜台词。这是我正在使用的 xml。问题是两个 TextView 合并在一起。我能做什么?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_ >
    <TextView 
        android:id="@+id/tijd" 
        android:layout_
        android:layout_ 
        android:layout_centerInParent="true" 
        android:paddingLeft="10dp" />
    <TextView 
        android:id="@+id/sub" 
        android:layout_
        android:layout_ 
        android:layout_centerInParent="true" 
        android:layout_below="@id/tijd"/>
    <ImageView 
        android:id="@+id/type"
        android:layout_
        android:layout_ 
        android:layout_toLeftOf="@id/tijd" />
</RelativeLayout>

【问题讨论】:

你想要什么? Apoorv 是对的...... 我希望“tijd”在每一行居中,左边有一个图像。我想要“tijd”下的潜台词。我使用vogella.com/articles/AndroidListView/article.html 作为指导方针。第1.3章 @Nfear 通过图片或快照向我们展示您想要的效果 【参考方案1】:

你可以像下面这样尝试,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_ >

    <ImageView
        android:id="@+id/type"
        android:layout_
        android:layout_
        android:background="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/tijd"
        android:layout_
        android:layout_
        android:layout_marginTop="10dip"
        android:layout_toRightOf="@+id/type"
        android:text="abcde" />

    <TextView
        android:id="@+id/sub"
        android:layout_
        android:layout_
        android:layout_below="@id/tijd"
        android:layout_toRightOf="@+id/type"
        android:text="abcd" />

</RelativeLayout>

你的输出将是,

【讨论】:

@+id for toRightOf?那不应该没有+吗? 好吧,编译器似乎创建了一个新的 id,而 Eclipse 有时会因为非法强制转换而搞砸。 这就是我需要清理项目的原因 ;)【参考方案2】:

使用下面的布局和中心水平的子

<TextView
    android:id="@+id/sub"
    android:layout_
    android:layout_
    android:layout_below="@id/tijd"
    android:centerHorizontal="true"
    android:text="abcd" />

【讨论】:

【参考方案3】:

我认为,您必须从 sub 中删除 centerInParent。

【讨论】:

【参考方案4】:

试试这个

<LinearLayout
    android:layout_
    android:layout_
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/type"
            android:layout_
            android:layout_
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_gravity="center_vertical"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tijd"
            android:layout_
            android:layout_
            android:text="title" />

        <TextView
            android:id="@+id/sub"
            android:layout_
            android:layout_
            android:text="subtitle" />
    </LinearLayout>
</LinearLayout>

【讨论】:

【参考方案5】:

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >

<TextView
    android:id="@+id/tijd"
    android:layout_
    android:layout_
    android:layout_alignParentTop="true"
    android:layout_centerInParent="true"
    android:text="Heading" />

<TextView
    android:id="@+id/sub"
    android:layout_
    android:layout_
    android:layout_below="@id/tijd"
    android:layout_centerInParent="true"
    android:text="Subheading" />

<ImageView
    android:id="@+id/type"
    android:layout_
    android:layout_
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@id/tijd"
    android:background="@drawable/ic_launcher" />

【讨论】:

【参考方案6】:

试试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_
    android:layout_ >

    <ImageView
        android:id="@+id/type"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        android:layout_
        android:layout_
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tijd"
            android:layout_
            android:layout_
            android:layout_marginLeft="10dp"
            android:text="adad" />

        <TextView
            android:id="@+id/sub"
            android:layout_
            android:layout_
            android:layout_marginLeft="10dp"
            android:text="adad" />
    </LinearLayout>

</LinearLayout>

希望它会起作用。

【讨论】:

以上是关于Listview 中的潜台词的主要内容,如果未能解决你的问题,请参考以下文章

动态设置Listview高度后正确检测Listview中的setOnScrollListener

如何获取listview的item中的内容

listview点击item中的button改变item中的其它的控件的值

另一个 ListView 中的 ListView

C#如何向listview中的一列添加LIST集合中的OBJECT数据

android 中的appwidget中加了listview,怎么让点击listview中的item后跳转到app主页面