Skip to content

Commit 7f79a4a

Browse files
committed
闪烁问题 gzu-liyujiang#97
1 parent 5dd25b5 commit 7f79a4a

7 files changed

Lines changed: 7200 additions & 11 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.2.3'
8+
classpath 'com.android.tools.build:gradle:2.3.0'
99
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
1010
}
1111
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ COMPILE_SDK_VERSION=23
2121
MIN_SDK_VERSION=14
2222
#安卓6.0开始(API23+),需要动态申请权限
2323
TARGET_SDK_VERSION=23
24-
BUILD_TOOL_VERSION=23.0.1
24+
BUILD_TOOL_VERSION=25.0.0
2525
ANDROID_SUPPORT_VERSION=latest.release
2626
GROUP=cn.qqtheme.framework
2727
SITE_URL=http://qqtheme.cn
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Aug 10 00:49:00 CST 2016
1+
#Fri Mar 03 00:22:35 CST 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

library/ColorPicker/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ ext {
99
dependencies {
1010
compile project(":library:Common")
1111
}
12+
13+
android {
14+
buildToolsVersion '25.0.0'
15+
}

library/WheelPicker/src/main/java/cn/qqtheme/framework/picker/DateTimePicker.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public class DateTimePicker extends WheelPicker {
8686
public @interface DateMode {
8787
}
8888

89-
@IntDef(flag = false, value = {NONE, HOUR_24, HOUR_12, HOUR_OF_DAY, HOUR})
89+
@IntDef(flag = false, value = {NONE, HOUR_24, HOUR_12})
9090
@Retention(RetentionPolicy.SOURCE)
9191
public @interface TimeMode {
9292
}
@@ -321,20 +321,29 @@ public void setOnDateTimePickListener(OnDateTimePickListener listener) {
321321

322322
public String getSelectedYear() {
323323
if (dateMode == YEAR_MONTH_DAY || dateMode == YEAR_MONTH) {
324+
if (years.size() <= selectedYearIndex) {
325+
selectedYearIndex = years.size() - 1;
326+
}
324327
return years.get(selectedYearIndex);
325328
}
326329
return "";
327330
}
328331

329332
public String getSelectedMonth() {
330333
if (dateMode != NONE) {
334+
if (months.size() <= selectedMonthIndex) {
335+
selectedMonthIndex = months.size() - 1;
336+
}
331337
return months.get(selectedMonthIndex);
332338
}
333339
return "";
334340
}
335341

336342
public String getSelectedDay() {
337343
if (dateMode == YEAR_MONTH_DAY || dateMode == MONTH_DAY) {
344+
if (days.size() <= selectedDayIndex) {
345+
selectedDayIndex = days.size() - 1;
346+
}
338347
return days.get(selectedDayIndex);
339348
}
340349
return "";
@@ -420,6 +429,11 @@ public void onSelected(boolean isUserScroll, int index, String item) {
420429
int selectedYear = DateUtils.trimZero(item);
421430
changeMonthData(selectedYear);
422431
monthView.setItems(months, selectedMonthIndex);
432+
if (months.size() <= selectedMonthIndex) {
433+
selectedMonthIndex = months.size() - 1;
434+
}
435+
changeDayData(selectedYear, DateUtils.trimZero(months.get(selectedMonthIndex)));
436+
dayView.setItems(days, selectedDayIndex);
423437
}
424438
});
425439
layout.addView(yearView);

library/WheelPicker/src/main/java/cn/qqtheme/framework/widget/WheelView.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
public class WheelView extends ListView implements ListView.OnScrollListener, View.OnTouchListener,
5555
ViewTreeObserver.OnGlobalLayoutListener {
5656
public static final int SMOOTH_SCROLL_DURATION = 50;//ms
57-
public static final int DELAY = 500;//ms
5857

5958
public static final int TEXT_SIZE = 16;//sp
6059
public static final float TEXT_ALPHA = 0.8f;
@@ -240,26 +239,25 @@ public String getSelectedItem() {
240239
}
241240

242241
public void setSelectedItem(String item) {
242+
//noinspection deprecation
243243
setSelection(adapter.getData().indexOf(item));
244244
}
245245

246246
/**
247-
* 设置滚轮位置
247+
* @deprecated use {@link #setSelectedIndex(int)} instead
248248
*/
249249
@Override
250+
@Deprecated
250251
public void setSelection(int position) {
251-
setVisibility(INVISIBLE);
252252
final int realPosition = getRealPosition(position);
253253
//延时一下以保证数据初始化完成,才定位到选中项
254254
postDelayed(new Runnable() {
255255
@Override
256256
public void run() {
257-
//LogUtils.verbose("post delayed, set selection to " + realPosition);
258-
setVisibility(VISIBLE);
259257
WheelView.super.setSelection(realPosition);
260258
refreshCurrentPosition();
261259
}
262-
}, DELAY);
260+
}, 500);
263261
}
264262

265263
/**
@@ -715,6 +713,9 @@ public final String getItem(int position) {
715713
if (isLoop) {
716714
return data.size() > 0 ? data.get(position % data.size()) : null;
717715
}
716+
if (data.size() <= position) {
717+
position = data.size() - 1;
718+
}
718719
return data.get(position);
719720
}
720721

0 commit comments

Comments
 (0)