有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带箭头的java Android水平列表视图

我试图用两个箭头创建一个水平列表视图,一个向左移动,一个向右移动

我希望这些箭头只在卷轴太大而无法整体显示时显示

我有以下布局:

    <LinearLayout 
        安卓:id="@+id/availability_ctx_right_col"
        安卓:layout_width="fill_parent"
        安卓:layout_height="wrap_content"
        安卓:orientation="vertical">

        <RelativeLayout 
            安卓:id="@+id/availability_ctx_level1"
            安卓:layout_width="fill_parent"
            安卓:layout_height="50dp"
            安卓:background="#706969"
            安卓:orientation="horizontal">

            <ImageView 
                安卓:id="@+id/availability_ctx_level1_left"
                安卓:src="@drawable/arrow_left"
                安卓:contentDescription="@string/left"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:visibility="invisible" />

            <ImageView 
                安卓:id="@+id/availability_ctx_level1_right"
                安卓:src="@drawable/arrow_right"
                安卓:contentDescription="@string/right"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:layout_alignParentRight="true"
                安卓:visibility="invisible" />

            <com.my.package.HorizontalListView
                安卓:id="@+id/availability_ctx_level1_list"
                安卓:layout_width="fill_parent"
                安卓:layout_height="50dp"
                安卓:layout_toRightOf="@id/availability_ctx_level1_left"
                安卓:layout_toLeftOf="@id/availability_ctx_level1_right" />

        </RelativeLayout >

        <RelativeLayout 
            安卓:id="@+id/availability_ctx_level2"
            安卓:layout_width="fill_parent"
            安卓:layout_height="50dp"
            安卓:background="#5a4f4f"
            安卓:orientation="horizontal">

            <ImageView 
                安卓:id="@+id/availability_ctx_level2_left"
                安卓:src="@drawable/arrow_left"
                安卓:contentDescription="@string/left"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:visibility="invisible" />

            <ImageView 
                安卓:id="@+id/availability_ctx_level2_right"
                安卓:src="@drawable/arrow_right"
                安卓:contentDescription="@string/right"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:layout_alignParentRight="true"
                安卓:visibility="invisible" />

            <com.my.package.HorizontalListView
                安卓:id="@+id/availability_ctx_level2_list"
                安卓:layout_width="fill_parent"
                安卓:layout_height="50dp"
                安卓:layout_toRightOf="@id/availability_ctx_level2_left"
                安卓:layout_toLeftOf="@id/availability_ctx_level2_right" />

        </RelativeLayout >

        <RelativeLayout 
            安卓:id="@+id/availability_ctx_level3"
            安卓:layout_width="fill_parent"
            安卓:layout_height="50dp"
            安卓:background="#706969"
            安卓:orientation="horizontal">

            <ImageView 
                安卓:id="@+id/availability_ctx_level3_left"
                安卓:src="@drawable/arrow_left"
                安卓:contentDescription="@string/left"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:visibility="invisible" />

            <ImageView 
                安卓:id="@+id/availability_ctx_level3_right"
                安卓:src="@drawable/arrow_right"
                安卓:contentDescription="@string/right"
                安卓:layout_width="wrap_content"
                安卓:layout_height="50dp"
                安卓:layout_alignParentRight="true"
                安卓:visibility="invisible" />

            <com.my.package.HorizontalListView
                安卓:id="@+id/availability_ctx_level3_list"
                安卓:layout_width="fill_parent"
                安卓:layout_height="50dp"
                安卓:layout_toRightOf="@id/availability_ctx_level3_left"
                安卓:layout_toLeftOf="@id/availability_ctx_level3_right" />

        </RelativeLayout >

    </LinearLayout>

我的HorizontalListView类正在全面运行并扩展AdapterView<ListAdapter>

有没有办法只显示所需的箭头,以及如何移动到列表中的下一项

谢谢

问候


共 (1) 个答案

  1. # 1 楼答案

    我终于用一个小技巧解决了我的问题:

        private int item_width = 70; // Width in pixel
    
        public void scrollLeft()
        {
            mNextX -= item_width;
            mScroller.fling(mNextX, 0, -50, 0, 0, mMaxX, 0, 0);
            requestLayout();
        }
    
        public void scrollRight()
        {
            mNextX += item_width;
            mScroller.fling(mNextX, 0, -50, 0, 0, mMaxX, 0, 0);
            requestLayout();
        }
    

    如果它能帮助某人