0

我是在 Android 上开发的新手,所以请耐心等待。我有一个活动显示今天日期的一些天气数据,我想在活动底部列出未来 7 天的更多天气数据,如下所示:

在此处输入图像描述

但是,我对实现这一目标的最佳方法感到困惑。我正在考虑使用 ListView,但我对如何使用它们感到困惑。根据我收集到的信息,我需要在其中创建一个 ListView 布局,res/layout然后在我的主要活动上使用一个片段,它的布局设置为我刚刚制作的 ListView 布局。那是对的吗?或者更简单的解决方案是将 ListView 放在我的主要活动的底部?

或者,我是否使用了完全错误的控件来完成我想要做的事情?

4

2 回答 2

0

您可以通过以下代码轻松制作此布局:

<Relativelayout...>

    <EditText android="@+id/edit1"
      android:alignParentTop="true"
      ... />

    <LinearLayout android:id="@+id/YOUR_MIDDLE_DATA"
      android:above="@+id/listview1"
      android:below="@+id/edit1" ...>
      ...
      ...
    </Linearlayout>

    <Listview android:id="@+id/listview1"
      android:above="@+id/txt1"
      ... />

    <Textview android:id="@+id/txt1"
      ...
      android:alignParentBottom="true" />
</RelativeLayout>

您也可以使用重量进行自定义。

希望这会帮助你。

于 2013-04-17T07:29:54.323 回答
0

以下面的 XML 为例。在这个(来自我的应用程序的实际 XML)中,我在.EditText上方有一个较小的ListView,但您可以将其更改为您需要的其他内容。这实质上说明的是,您可以ListView在顶部或底部拥有 a 以及其他一些内容。ListView(我已经删除了 Admob 代码)

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="1"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/phone_thing_comment_bg"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="5dp" >

        <EditText
            android:id="@+id/editFilterList"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:background="@drawable/phone_thing_comment_box"
            android:drawableLeft="@drawable/filter_search_icon"
            android:drawablePadding="5dp"
            android:hint="Type Friends Name"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="#ff333333"
            android:textColorHint="#ff78797d"
            android:textCursorDrawable="@null" >
        </EditText>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:cacheColorHint="@android:color/transparent"
            android:divider="#000000"
            android:dividerHeight="0dp"
            android:fadingEdge="none"
            android:persistentDrawingCache="scrolling"
            android:scrollbars="none" >
        </ListView>

        <TextView
            android:id="@android:id/empty"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:padding="10dp"
            android:text="@string/no_friends"
            android:textColor="#f1f1f1"
            android:textSize="15sp"
            android:textStyle="bold"
            android:visibility="gone" >
        </TextView>
    </LinearLayout>
</LinearLayout>

使用这种方法的优点是它ListView会像它应该的那样滚动,但Widgets上面它总是静止的。使用这种方法的缺点是在屏幕较小的设备上,可能没有足够的空间ListView显示内容,用户可能需要滚动很多。

或者,您可以将Widgets上述. 这使得上面的内容随着内容一起移动。ListViewListViewHeaderListViewListView

因此,这段代码进入了一个不同的 XML,它将作为标头添加到您的 Java 代码中:

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/phone_thing_comment_bg"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="5dp" >

        <EditText
            android:id="@+id/editFilterList"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:background="@drawable/phone_thing_comment_box"
            android:drawableLeft="@drawable/filter_search_icon"
            android:drawablePadding="5dp"
            android:hint="Type Friends Name"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="#ff333333"
            android:textColorHint="#ff78797d"
            android:textCursorDrawable="@null" >
        </EditText>
    </LinearLayout>

利弊与前面的例子几乎相反。

无论在 aFragment或 an中使用,这两种方法都将起作用Activity

于 2013-04-17T07:36:29.767 回答