如何设置wheelView项目

时间:2016-05-31 22:25:08

标签: android custom-view

我在Github找到了这个https://github.com/LukeDeighton/WheelView项目,我无法实现如何在wheelView中的不同位置设置不同的项目。我想添加两个项目(ArrayList list) 谁能打倒我呢?

这是我的代码:

public class MainActivity extends AppCompatActivity {

private WheelView wheelView;
private ArrayList<Drawable> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //This is the items I want to add
    list = new ArrayList<>();
    list.add(getResources().getDrawable(R.drawable.loader));
    list.add(getResources().getDrawable(R.drawable.twitter));
    ////

    wheelView = (WheelView) findViewById(R.id.wheelView);

    wheelView.setAdapter(new WheelAdapter() {

        @Override
        public Drawable getDrawable(int position) {

            return ...;
        }

        @Override
        public int getCount() {
            return (int)wheelView.getItemCount();
        }

        @Override
        public Object getItem(int position) {
            return 0;
        }
    });

}
}

这是xml:

<?xml version="1.0" encoding="utf-8"?>
<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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.roashviz.giftest2.MainActivity">



<com.lukedeighton.wheelview.WheelView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/wheelView"
    app:wheelColor="@color/colorAccent"
    app:rotatableWheelDrawable="true"
    app:selectionAngle="270.0"
    app:wheelPosition=""
    app:wheelOffsetY="0dp"
    app:repeatItems="true"
    app:wheelRadius="150dp"
    app:wheelItemCount="2"
    app:wheelPadding="13dp"
    app:wheelItemRadius="43dp"
    android:layout_alignParentBottom="true" />

感谢!! :)

2 个答案:

答案 0 :(得分:3)

我想你需要像这样更新你的代码,我没有尝试过,但它应该可以工作

wheelView.setAdapter(new WheelAdapter() {

@Override
public Drawable getDrawable(int position) {

    return list.get(position);
}

@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return list.get(position);
}
});

答案 1 :(得分:1)

启动并运行它的最简单方法是查看与您尝试使用的库关联的示例项目:

MainActivityCode

您还可以通过浏览其他文件找到有用的信息:

TextDrawable

您甚至可以下载整个内容并在使用该库之前自行尝试,至少确保它有效!

我希望这可以让您了解自己需要做什么!