一個好看的時間控制元件
阿新 • • 發佈:2018-12-10
Android 一個好看的時間控制元件
1.依賴包
compile 'com.wx.wheelview:wheelview:1.3.3'
2.在佈局中使用
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:orientation="vertical">
<com.wx.wheelview.widget.WheelView
android:id="@+id/addtime_hour_wheelview"
android:layout_width="match_parent"
android:layout_height="57dp"
/>
<ImageView //時間下的指示條
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="#ff5d5d"
/>
</LinearLayout>
3.程式碼中的使用
mAddtimeHourWheelview.setWheelAdapter(new ArrayWheelAdapter(this));
mAddtimeHourWheelview.setSkin(WheelView.Skin.None ); //無邊框
mAddtimeHourWheelview.setWheelSize(1); //只顯示一行
final ArrayList<String> hours = createHours(); //獲取到小時資料 可以改為分鐘資料
mAddtimeHourWheelview.setWheelData(hours);
WheelView.WheelViewStyle style = new WheelView.WheelViewStyle(); //風格
style.selectedTextColor = Color.parseColor("#ff5d5d"); //文字顏色
style.textColor = Color.RED;
style.selectedTextSize = 26; //文字大小
mAddtimeHourWheelview.setStyle(style);
mAddtimeHourWheelview.setOnWheelItemSelectedListener(new WheelView.OnWheelItemSelectedListener() { //設定監聽
@Override
public void onItemSelected(int position, Object o) {
String hoursString = hours.get(position);
mAddtimeStartTv.setText(hoursString + " : "); //獲取到時間
}
});
資料來源
//小時
private ArrayList<String> createHours() {
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 24; i++) {
if (i < 10) {
list.add("0" + i);
} else {
list.add("" + i);
}
}
return list;
}
//分鐘
private ArrayList<String> createMinutes() {
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 60; i++) {
if (i < 10) {
list.add("0" + i);
} else {
list.add("" + i);
}
}
return list;
}