-
Notifications
You must be signed in to change notification settings - Fork 528
帮助文档
注:我们不再提供对WheelPicker Beta版的技术支持,本文档仅作用于WheelPicker 1.1.0稳定版,请尽快升级到1.1.0
- int getVisibleItemCount();
- void setVisibleItemCount(int count);
- boolean isCyclic();
- void setCyclic(boolean isCyclic);
- void setOnItemSelectedListener(WheelPicker.OnItemSelectedListener listener);
- int getSelectedItemPosition();
- void setSelectedItemPosition(int position);
- int getCurrentItemPosition();
- List getData();
- void setData(List data);
- void setSameWidth(boolean hasSameSize);
- boolean hasSameWidth();
- void setOnWheelChangeListener(WheelPicker.OnWheelChangeListener listener);
- String getMaximumWidthText();
- void setMaximumWidthText(String text);
- int getMaximumWidthTextPosition();
- void setMaximumWidthTextPosition(int position);
- int getSelectedItemTextColor();
- void setSelectedItemTextColor(int color);
- int getItemTextColor();
- void setItemTextColor(int color);
- int getItemTextSize();
- void setItemTextSize(int size);
- int getItemSpace();
- void setItemSpace(int space);
- void setIndicator(boolean hasIndicator);
- boolean hasIndicator();
- int getIndicatorSize();
- void setIndicatorSize(int size);
- int getIndicatorColor();
- void setIndicatorColor(int color);
- void setCurtain(boolean hasCurtain);
- boolean hasCurtain();
- int getCurtainColor();
- void setCurtainColor(int color);
- void setAtmospheric(boolean hasAtmospheric);
- boolean hasAtmospheric();
- boolean isCurved();
- void setCurved(boolean isCurved);
- int getItemAlign();
- void setItemAlign(int align);
- Typeface getTypeface();
- void setTypeface(Typeface tf);
所有这些方法的详细介绍你都可以在IWheelPicker里找到
- wheel_data
- wheel_selected_item_position
- wheel_item_text_size
- wheel_item_text_color
- wheel_selected_item_text_color
- wheel_same_width
- wheel_maximum_width_text
- wheel_maximum_width_text_position
- wheel_visible_item_count
- wheel_item_space
- wheel_cyclic
- wheel_indicator
- wheel_indicator_color
- wheel_indicator_size
- wheel_curtain
- wheel_curtain_color
- wheel_atmospheric
- wheel_curved
- wheel_item_align
WheelPicker与系统自带的控件类似,一旦您将WheelPicker集成到你的项目中,你就可以像普通控件那样使用它:
- 在xml文件中引用
<com.aigestudio.wheelpicker.WheelPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
- 在Java类文件中构造
FrameLayout flContainer = (FrameLayout) findViewById(R.id.container);
WheelPicker wheelPicker = new WheelPicker(this);
FrameLayout.LayoutParams flParams = new FrameLayout.LayoutParams
(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
flParams.gravity = Gravity.CENTER;
flContainer.addView(wheelPicker, flParams);
在默认情况下WheelPicker会显示一组默认数据:
如果你想设置自己的数据只需调用
void setData(List data);
方法传入一个List列表即可,WheelPicker不限制List列表中数据的类型,但是WheelPicker在绘制List列表中的数据时总是会将其中的数据转换为String类型
List<Integer> data = new ArrayList<>();
for (int i = 1000; i < 3000; i++)
data.add(i);
wheelPicker.setData(data);
效果如下:
此时WheelPicker看起来也许不符合你的设计要求,不过不要担心,我们提供了一系列的方法来调整WheelPicker的外观,这些方法都被定义在IWheelPicker中,里面有详尽的注释提供参考,这里就不再多说了
WheelPicker提供了两种方式来获取当前选中的数据,第一种是直接通过getCurrentItemPosition得到当前选中数据在数据源中的位置,这种方式有一定的局限性,你必须在滚轮选择器静止的状态下才能获得正确的数据,如果你在滚轮选择器滑动时调用该方法,你会得到上一次滚轮静止时选中的数据;第二种获取选中数据的方法是通过监听器,WheelPicker提供了一个OnItemSelectedListener监听接口来监听滚轮数据被选中的状态,你可以调用WheelPicker的setOnItemSelectedListener方法为滚轮选择器设置一个监听器,当滚轮选择器在滑动后停止时会调用OnItemSelectedListener中的onItemSelected方法:
public interface OnItemSelectedListener {
void onItemSelected(WheelPicker picker, Object data, int position);
}
该方法会将滚轮选择器对象、当前选中的数据以及当前选中数据在数据源中的位置返回。
通过继承或组合多个WheelPicker可以实现各种各样的滚轮选择器,WheelPicker将会在未来的时间里陆续更新不同的依赖于WheelPicker的选择器,当然我们也非常欢迎你加入衍生控件的开发