我目前正在开发小应用,在某些时候用户需要选择一个选项。我收到的规范说明了水平列表以及可供选择的选项。当它低于箭头指针时选择该选项 - 类似于命运之轮。
这是我到目前为止所做的:
我的活动
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>
还有一张图片解释了它的样子:
因此,当箭头高于18厘米时,textview(值)文本应为18厘米。
有人可以帮助我,或者至少说我应该在谷歌搜索什么。
修改
有一件事我刚刚意识到我没有提到 - 整个应用程序都是API 10+兼容。
答案 0 :(得分:6)
您正在寻找的小部件类似于Android水平滚轮。 android-spinnerwheel有一个实现,可以满足您的需求。
答案 1 :(得分:1)
这可能没那么有用。但这应该可以帮助您开始使用。
Android中有一个名为Gallery的类,可用于此类实现。它具有水平滚动的子元素的中心锁。但这在Android API 16中已被弃用。
Gallery Deprecated。因此不建议使用此方法。
话虽如此,很少有开源项目可以帮助您实现您的实现。其中一个解决方案是https://stackoverflow.com/a/12240387/603744。你可以从这里开始,然后通过我的猜测。