Android水平滚动菜单(如谷歌位置)

时间:2013-04-04 11:55:45

标签: android android-listview android-imageview android-menu

我想在google位置应用中实现一个菜单。

它看起来像水平滑动菜单,但如果向右移动指针,图像会向左滑动。 onClick事件在手指释放后触发,无需额外点击

Screen capture

1 个答案:

答案 0 :(得分:1)

创建一个水平LinearLayout并添加所需的可点击ImageView。 最后将所有这些包装在HorizontalScrollView中,像这样(这个例子是按钮):

  <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="47dp"
        android:scrollbars="none" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:background="@drawable/bar_edit"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/bAll"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button1_all"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/all"
                android:textColor="@color/my_black" />

            <Button
                android:id="@+id/bWaiting"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button2_pending"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/waiting"
                android:textColor="@color/my_white" />

            <Button
                android:id="@+id/bInProgress"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button3_in_progress"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/inprogress"
                android:textColor="@color/my_white" />

            <Button
                android:id="@+id/bOnTheWay"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button4_on_the_way"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/ontheway"
                android:textColor="@color/my_white" />

            <Button
                android:id="@+id/bComplete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button5_complete"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/complete"
                android:textColor="@color/my_white" />

            <Button
                android:id="@+id/bFailed"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/button6_failed"
                android:clickable="true"
                android:onClick="onTasksListFilterButtonPressed"
                android:text="@string/failed"
                android:textColor="@color/my_white" />
        </LinearLayout>
    </HorizontalScrollView>