2

我需要在 ListView 上方放置一个小矩形。我使用框架布局来实现它。

   item1              item1             item1
   item2              item2             item2
+----------------------------------------------+
|  item3              item3             item3  |
+----------------------------------------------+
   item4              item4             item4

现在我有一个问题,每次滚动列表时,它都会弹出隐藏矩形并在我再次单击列表时返回背景。

有没有办法让矩形始终位于列表的顶部?除了 Frame Layout 还有其他方法可以覆盖视图吗?

谢谢。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/edittextSubject"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/activity_horizontal_margin"
        android:hint="@string/hint_remind" />

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

        <View
            android:id="@+id/rectSelectTime"
            android:layout_width="match_parent"
            android:layout_height="72dp"
            android:layout_gravity="center_vertical|center_horizontal|fill_horizontal"
            android:background="@drawable/select_rect"
            android:clickable="true"
            android:importantForAccessibility="yes" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/scroller_height"
            android:layout_marginBottom="@dimen/activity_horizontal_margin"
            android:baselineAligned="false"
            android:orientation="horizontal" >

            <ListView
                android:id="@+id/listviewTimeInterval"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:scrollbars="none"
                android:tag="TimeInterval" >
            </ListView>

            <ListView
                android:id="@+id/listviewHour"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:scrollbars="none"
                android:tag="Hour" >
            </ListView>

            <ListView
                android:id="@+id/listviewMinute"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:scrollbars="none"
                android:tag="Minute" >
            </ListView>
        </LinearLayout>
    </FrameLayout>

</LinearLayout>
4

1 回答 1

1

好的,这是您解决的代码。现在图像总是在顶部:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/edittextSubject"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/activity_horizontal_margin"
        android:hint="@string/app_name" />

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



        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="@dimen/activity_horizontal_margin"
            android:baselineAligned="false"
            android:orientation="horizontal" >

            <ListView
                android:id="@+id/listviewTimeInterval"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:scrollbars="none"
                android:tag="TimeInterval" >
            </ListView>

            <ListView
                android:id="@+id/listviewHour"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:scrollbars="none"
                android:tag="Hour" >
            </ListView>

            <ListView
                android:id="@+id/listviewMinute"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:scrollbars="none"
                android:tag="Minute" >
            </ListView>
        </LinearLayout>

        <View
            android:id="@+id/rectSelectTime"
            android:layout_width="match_parent"
            android:layout_height="72dp"
            android:layout_gravity="center_vertical|center_horizontal|fill_horizontal"
            android:background="@drawable/ic_launcher"
            android:clickable="true"
            android:importantForAccessibility="yes" />
    </FrameLayout>

</LinearLayout>
于 2013-05-13T20:19:51.257 回答