package com.andbase.demo.activity; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import com.andbase.demo.R; import com.andbase.demo.global.MyApplication; import com.andbase.library.app.base.AbBaseActivity; import com.andbase.library.util.AbDateUtil; import com.andbase.library.util.AbDialogUtil; import com.andbase.library.util.AbStrUtil; import com.andbase.library.view.wheel.AbNumericWheelAdapter; import com.andbase.library.view.wheel.AbStringWheelAdapter; import com.andbase.library.view.wheel.AbWheelUtil; import com.andbase.library.view.wheel.AbWheelView; public class WheelActivity extends AbBaseActivity { private MyApplication application; private View ymdView = null; private View mdhmView = null; private View hmView = null; private View numberView = null; private View stringView = null; private TextView ymdTextView = null; private TextView mdhmTextView = null; private TextView hmTextView = null; private TextView numberTextView = null; private TextView stringTextView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wheel); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); toolbar.setTitle(R.string.title_wheel); toolbar.setContentInsetsRelative(0, 0); toolbar.setNavigationIcon(R.drawable.ic_back); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); application = (MyApplication) this.getApplication(); ymdTextView = (TextView)findViewById(R.id.text_value_1); mdhmTextView = (TextView)findViewById(R.id.text_value_2); hmTextView = (TextView)findViewById(R.id.text_value_3); numberTextView = (TextView)findViewById(R.id.text_value_4); stringTextView = (TextView)findViewById(R.id.text_value_5); ymdTextView.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { ymdView = View.inflate(WheelActivity.this,R.layout.view_choose_three, null); initYMDWheel(ymdView,ymdTextView); AbDialogUtil.showDialog(ymdView,Gravity.BOTTOM); } }); mdhmTextView.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { mdhmView = View.inflate(WheelActivity.this,R.layout.view_choose_three, null); initMDHMWheel(mdhmView,mdhmTextView); AbDialogUtil.showDialog(mdhmView,Gravity.BOTTOM); } }); hmTextView.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { hmView = View.inflate(WheelActivity.this,R.layout.view_choose_two, null); initHMWheel(hmView,hmTextView); AbDialogUtil.showDialog(hmView,Gravity.BOTTOM); } }); numberTextView.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { numberView = View.inflate(WheelActivity.this,R.layout.view_choose_one, null); initWheelNumber(numberView); AbDialogUtil.showDialog(numberView,Gravity.BOTTOM); } }); stringTextView.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { stringView = View.inflate(WheelActivity.this,R.layout.view_choose_one, null); initWheelText(stringView); AbDialogUtil.showDialog(stringView,Gravity.BOTTOM); } }); } public void initWheelText(final View view){ List<String> list = new ArrayList<String>(); list.add("绿色"); list.add("红色"); list.add("蓝色"); list.add("白色"); list.add("黑色"); final AbWheelView mWheelView1 = (AbWheelView)view.findViewById(R.id.wheelView1); mWheelView1.setAdapter(new AbStringWheelAdapter(list)); // 可循环滚动 mWheelView1.setCyclic(true); // 添加文字 mWheelView1.setLabel(""); // 初始化时显示的数据 mWheelView1.setCurrentItem(2); mWheelView1.setValueTextSize(35); mWheelView1.setLabelTextSize(35); mWheelView1.setLabelTextColor(0x80000000); //mWheelView1.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); Button okBtn = (Button)view.findViewById(R.id.okBtn); Button cancelBtn = (Button)view.findViewById(R.id.cancelBtn); okBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); int index = mWheelView1.getCurrentItem(); String val = mWheelView1.getAdapter().getItem(index); stringTextView.setText(val); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); } }); } public void initWheelNumber(final View view){ final AbWheelView mWheelView1 = (AbWheelView)view.findViewById(R.id.wheelView1); mWheelView1.setAdapter(new AbNumericWheelAdapter(40, 190)); // 可循环滚动 mWheelView1.setCyclic(true); // 添加文字 mWheelView1.setLabel("单位"); // 初始化时显示的数据 mWheelView1.setCurrentItem(40); mWheelView1.setValueTextSize(35); mWheelView1.setLabelTextSize(35); mWheelView1.setLabelTextColor(0x80000000); //mWheelView1.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); Button okBtn = (Button)view.findViewById(R.id.okBtn); Button cancelBtn = (Button)view.findViewById(R.id.cancelBtn); okBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); int index = mWheelView1.getCurrentItem(); String val = mWheelView1.getAdapter().getItem(index); numberTextView.setText(val); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); } }); } /** * 年月日 * @param view * @param textView */ public void initYMDWheel(final View view,final TextView textView){ //年月日时间选择器 Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH)+1; int day = calendar.get(Calendar.DATE); String date = textView.getText().toString().trim(); if(!AbStrUtil.isEmpty(date)){ Date dateNew = AbDateUtil.getDateByFormat(date, AbDateUtil.dateFormatYMD); if(dateNew!=null){ year = 1900+dateNew.getYear(); month = dateNew.getMonth()+1; day = dateNew.getDate(); } } final AbWheelView mWheelViewY = (AbWheelView)view.findViewById(R.id.wheelView1); final AbWheelView mWheelViewM = (AbWheelView)view.findViewById(R.id.wheelView2); final AbWheelView mWheelViewD = (AbWheelView)view.findViewById(R.id.wheelView3); //mWheelViewY.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); //mWheelViewM.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); //mWheelViewD.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); AbWheelUtil.initWheelPickerYMD(mWheelViewY, mWheelViewM, mWheelViewD, year,month,day, year-10, year+10); Button okBtn = (Button)view.findViewById(R.id.okBtn); Button cancelBtn = (Button)view.findViewById(R.id.cancelBtn); okBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); int indexYear = mWheelViewY.getCurrentItem(); String year = mWheelViewY.getAdapter().getItem(indexYear); int indexMonth = mWheelViewM.getCurrentItem(); String month = mWheelViewM.getAdapter().getItem(indexMonth); int indexDay = mWheelViewD.getCurrentItem(); String day = mWheelViewD.getAdapter().getItem(indexDay); textView.setText(AbStrUtil.dateTimeFormat(year+"-"+month+"-"+day)); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); } }); } /** * 月日时分 * @param view * @param textView */ public void initMDHMWheel(final View view,final TextView textView){ final AbWheelView mWheelViewMD = (AbWheelView)view.findViewById(R.id.wheelView1); final AbWheelView mWheelViewHH = (AbWheelView)view.findViewById(R.id.wheelView2); final AbWheelView mWheelViewMM = (AbWheelView)view.findViewById(R.id.wheelView3); Button okBtn = (Button)view.findViewById(R.id.okBtn); Button cancelBtn = (Button)view.findViewById(R.id.cancelBtn); //mWheelViewMD.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); //mWheelViewMM.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); //mWheelViewHH.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); AbWheelUtil.initWheelPickerMDHM(mWheelViewMD, mWheelViewMM, mWheelViewHH,2016,8,29,17,24); okBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); int index1 = mWheelViewMD.getCurrentItem(); int index2 = mWheelViewHH.getCurrentItem(); int index3 = mWheelViewMM.getCurrentItem(); String dmStr = AbWheelUtil.MDHMList.get(index1); Calendar calendar = Calendar.getInstance(); int second = calendar.get(Calendar.SECOND); String val = AbStrUtil.dateTimeFormat(dmStr+" "+index2+":"+index3+":"+second) ; textView.setText(val); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); } }); } /** * 时分 * @param view * @param textView */ public void initHMWheel(final View view,final TextView textView){ final AbWheelView mWheelViewHH = (AbWheelView)view.findViewById(R.id.wheelView1); final AbWheelView mWheelViewMM = (AbWheelView)view.findViewById(R.id.wheelView2); Button okBtn = (Button)view.findViewById(R.id.okBtn); Button cancelBtn = (Button)view.findViewById(R.id.cancelBtn); //mWheelViewMM.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); //mWheelViewHH.setCenterSelectDrawable(this.getResources().getDrawable(R.drawable.wheel_select)); // AbWheelUtil.initWheelPickerHM(mWheelViewHH,mWheelViewMM,17,25); okBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); int index1 = mWheelViewHH.getCurrentItem(); int index2 = mWheelViewMM.getCurrentItem(); String val = AbStrUtil.dateTimeFormat(index1+":"+index2) ; textView.setText(val); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { AbDialogUtil.removeDialog(view.getContext()); } }); } }