源码来自于:https://github.com/saiwu-bigkoo/Android-PickerView
站着巨人的肩膀上,做了一些调整 , 调整后效果图
![image](https://github.com/lvfaqiang/Android-PickerView-master/blob/develop/preview/update_picker_demo.gif)
博客地址:http://blog.csdn.net/lv_fq/article/details/52338513
Demo 下载之后把 pickerview 作为 Module 引入到项目中,
添加工具类:
```
public class Util {
/**
* 时间选择回调
*/
public interface TimerPickerCallBack {
void onTimeSelect(String date);
}
/**
* 弹出时间选择
*
* @param context
* @param type TimerPickerView 中定义的 选择时间类型
* @param format 时间格式化
* @param callBack 时间选择回调
*/
public static void alertTimerPicker(Context context, TimePickerView.Type type, final String format, final TimerPickerCallBack callBack) {
TimePickerView pvTime = new TimePickerView(context, type);
//控制时间范围
// Calendar calendar = Calendar.getInstance();
// pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR));
pvTime.setTime(new Date());
pvTime.setCyclic(false);
pvTime.setCancelable(true);
//时间选择后回调
pvTime.setOnTimeSelectListener(new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date) {
// tvTime.setText(getTime(date));
SimpleDateFormat sdf = new SimpleDateFormat(format);
callBack.onTimeSelect(sdf.format(date));
}
});
pvTime.setTextSize(16);
//弹出时间选择器
pvTime.show();
}
/**
* 底部滚轮点击事件回调
*/
public interface OnWheelViewClick {
void onClick(View view, int postion);
}
/**
* 弹出底部滚轮选择
*
* @param context
* @param list
* @param click
*/
public static void alertBottomWheelOption(Context context, ArrayList<?> list, final OnWheelViewClick click) {
final PopupWindow popupWindow = new PopupWindow();
View view = LayoutInflater.from(context).inflate(R.layout.layout_bottom_wheel_option, null);
TextView tv_confirm = (TextView) view.findViewById(R.id.btnSubmit);
final WheelView wv_option = (WheelView) view.findViewById(R.id.wv_option);
wv_option.setAdapter(new ArrayWheelAdapter(list));
wv_option.setCyclic(false);
wv_option.setTextSize(16);
tv_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
popupWindow.dismiss();
click.onClick(view, wv_option.getCurrentItem());
}
});
view.findViewById(R.id.btnCancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// TODO: 2016/8/11 0011 取消
popupWindow.dismiss();
}
});
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int top = view.findViewById(R.id.ll_container).getTop();
if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
int y = (int) motionEvent.getY();
if (y < top) {
popupWindow.dismiss();
}
}
return true;
}
});
popupWindow.setContentView(view);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
popupWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
popupWindow.showAtLocation(((ViewGroup) ((Activity) context).findViewById(android.R.id.content)).getChildAt(0), Gravity.CENTER, 0, 0);
}
```
具体调用方法请参考 Demo。
此外,后面把该项目中的 底部弹出效果做了一下整理,详情参考 http://blog.csdn.net/lv_fq/article/details/53154026
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android 高仿 IOS日历 滚轮选择控件 Android-PickerView-master-master.rar (73个子文件)
Android 高仿 IOS日历 滚轮选择控件 Android-PickerView-master-master
Y)6YH719F_~3W5D4(R%I231.png 61KB
Android-PickerView-master-master
gradlew.bat 2KB
gradlew 5KB
pickerview
proguard-rules.pro 664B
src
androidTest
java
com
lvfq
pickerview
ApplicationTest.java 350B
main
res
drawable
selector_pickerview_btn.xml 270B
values
colors.xml 582B
bools.xml 180B
strings.xml 427B
attrs.xml 512B
integers.xml 123B
dimens.xml 635B
anim
slide_out_bottom.xml 344B
slide_in_bottom.xml 344B
layout
include_pickerview_topbar.xml 2KB
pickerview_options.xml 1KB
layout_basepickerview.xml 500B
pickerview_time.xml 2KB
java
com
lvfq
pickerview
view
WheelTime.java 9KB
BasePickerView.java 5KB
WheelOptions.java 8KB
OptionsPickerView.java 5KB
adapter
WheelAdapter.java 546B
NumericWheelAdapter.java 1011B
ArrayWheelAdapter.java 975B
lib
LoopViewGestureListener.java 467B
WheelView.java 22KB
InertiaTimerTask.java 2KB
MessageHandler.java 866B
SmoothScrollTimerTask.java 2KB
OnItemSelectedRunnable.java 342B
utils
PickerViewAnimateUtil.java 761B
listener
OnItemSelectedListener.java 120B
OnDismissListener.java 152B
TimePickerView.java 5KB
AndroidManifest.xml 120B
.gitignore 7B
build.gradle 485B
gradle.properties 855B
preview
update_picker_demo.gif 918KB
pickerdemo.gif 162KB
pickerdemo1x.gif 103KB
pickerdemo_zhangshangshenghuo.gif 752KB
app
proguard-rules.pro 664B
src
androidTest
java
com
bigkoo
pickerviewdemo
ApplicationTest.java 356B
main
res
menu
menu_main.xml 370B
drawable-hdpi
ic_launcher.png 9KB
drawable-xhdpi
ic_launcher.png 14KB
drawable-xxhdpi
ic_launcher.png 19KB
values
strings.xml 224B
styles.xml 194B
dimens.xml 211B
drawable-mdpi
ic_launcher.png 5KB
layout
layout_bottom_wheel_option.xml 957B
activity_main.xml 1KB
activity_test.xml 2KB
activity_wheelview_test.xml 455B
values-w820dp
dimens.xml 358B
java
com
bigkoo
pickerviewdemo
DataModel.java 5KB
bean
TypeBean.java 876B
ProvinceBean.java 1KB
Util.java 4KB
activity
MainActivity.java 4KB
TestActivity.java 2KB
AndroidManifest.xml 836B
.gitignore 7B
build.gradle 672B
gradle
wrapper
gradle-wrapper.jar 49KB
gradle-wrapper.properties 231B
.gitignore 339B
README.md 4KB
settings.gradle 30B
build.gradle 572B
共 73 条
- 1
资源评论
qq_33172961
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功