Android水平列表,带轮状旋转

时间:2013-10-28 06:36:30

标签: android

我目前正在开发小应用,在某些时候用户需要选择一个选项。我收到的规范说明了水平列表以及可供选择的选项。当它低于箭头指针时选择该选项 - 类似于命运之轮。

这是我到目前为止所做的:

我的活动

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LinearLayout tl = (LinearLayout) findViewById(R.id.index);
        for (int i = 0; i < 10; i++) {
            TextView textview = new TextView(this);
            textview.setLayoutParams(new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            textview.setText("Text " + i);
            tl.addView(textview);
        }
    }
}

我的布局:

<RelativeLayout 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" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
        ... the rest of normal layout
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/value" />

        <HorizontalScrollView
            android:id="@+id/horizontalScrollView"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:scrollbars="none" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:id="@+id/index"
                android:orientation="horizontal" >
                ... there i put all the elements
            </LinearLayout>
        </HorizontalScrollView>
    </LinearLayout>

</RelativeLayout>

还有一张图片解释了它的样子: Sample

因此,当箭头高于18厘米时,textview(值)文本应为18厘米。

有人可以帮助我,或者至少说我应该在谷歌搜索什么。

修改

有一件事我刚刚意识到我没有提到 - 整个应用程序都是API 10+兼容。

2 个答案:

答案 0 :(得分:6)

您正在寻找的小部件类似于Android水平滚轮。 android-spinnerwheel有一个实现,可以满足您的需求。

enter image description here

答案 1 :(得分:1)

这可能没那么有用。但这应该可以帮助您开始使用。

Android中有一个名为Gallery的类,可用于此类实现。它具有水平滚动的子元素的中心锁。但这在Android API 16中已被弃用。

Gallery Deprecated。因此不建议使用此方法。

话虽如此,很少有开源项目可以帮助您实现您的实现。其中一个解决方案是https://stackoverflow.com/a/12240387/603744。你可以从这里开始,然后通过我的猜测。