Listview和TextView对齐方式

时间:2016-11-14 17:52:05

标签: android android-layout listview

我有一个listView,它从其他API服务器获取数据并显示它。我需要在它的一侧添加一个描述数据类型的textView。

屏幕的右半部分有listView,左半部分有textView。

当textView移动以适应不同的屏幕尺寸时,会出现问题。我需要修复textView并与listView一起显示,并且与listView成直线,无论屏幕大小如何。干杯。

编辑:添加了草图的图像

Imgur link

2 个答案:

答案 0 :(得分:1)

听起来像ListView不是你想要使用的。您无法将视图与ListView的子项对齐。您需要将TextView放在ListView的子节点中,或者不使用ListView。

最简单的方法是使用包含许多水平LinearLayouts的垂直LinearLayout。

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="100dp"
            android:layout_height="match_parent"/>
        <Item that was in the ListView />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="100dp"
            android:layout_height="match_parent"/>
        <Item that was in the ListView />

    </LinearLayout>

    ...
</LinearLayout>

ListView非常适合滚动,当你不知道会有多少项时。

也许您已经有一个适配器,您正在处理项目的创建,这就是您使用ListView的原因。您仍然可以通过单独膨胀每个项目并将其添加到容器视图来以编程方式创建LinearLayout的子项。

原始答案:

您可能希望TextViews也可以使用ListView进行滚动。所以我认为你应该使用一个ListView,然后将TextView添加到ListView项的左侧。

答案 1 :(得分:0)

你应该使用weightSum, 这是一个例子。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="horizontal">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Hello World"/>

</LinearLayout>