Skip to content

Commit 13605c0

Browse files
committed
时间选择器bug修复;联动选择器支持设置宽度填充
1 parent 37e2456 commit 13605c0

5 files changed

Lines changed: 22 additions & 5 deletions

File tree

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ picker.setXXX(...);
7373
```java
7474
picker.setOffset(...);
7575
```
76-
设置是否禁用循环
76+
设置启用循环
7777
```java
78-
picker.setCycleDisable(...);
78+
picker.setCycleDisable(false);
7979
```
8080
设置每项的高度,范围为2-4
8181
```java
@@ -85,6 +85,10 @@ picker.setLineSpaceMultiplier(...);
8585
```java
8686
picker.setTextColor(...);
8787
```
88+
设置滚轮项填充宽度
89+
```java
90+
picker.setUseWeight(true);
91+
```
8892
设置分隔线配置项,设置null将隐藏分割线及阴影
8993
```java
9094
picker.setDividerConfig(...);

app/src/main/java/cn/qqtheme/androidpicker/MainActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ public void onDatePicked(String month, String day) {
187187

188188
public void onTimePicker(View view) {
189189
TimePicker picker = new TimePicker(this, TimePicker.HOUR_24);
190+
picker.setUseWeight(true);
191+
picker.setCycleDisable(false);
190192
picker.setRangeStart(0, 0);//00:00
191193
picker.setRangeEnd(23, 59);//23:59
192194
int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
@@ -303,6 +305,7 @@ public List<String> provideThirdData(int firstIndex, int secondIndex) {
303305
};
304306
LinkagePicker picker = new LinkagePicker(this, provider);
305307
picker.setCycleDisable(true);
308+
picker.setUseWeight(false);
306309
picker.setLabel("小时制", "点");
307310
picker.setSelectedIndex(0, 8);
308311
//picker.setSelectedItem("12", "9");

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,20 +134,20 @@ protected View makeCenterView() {
134134
layout.setGravity(Gravity.CENTER);
135135

136136
final WheelView provinceView = createWheelView();
137-
provinceView.setUseWeight(true);
137+
provinceView.setUseWeight(useWeight);
138138
provinceView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, provinceWeight));
139139
layout.addView(provinceView);
140140
if (hideProvince) {
141141
provinceView.setVisibility(View.GONE);
142142
}
143143

144144
final WheelView cityView = createWheelView();
145-
cityView.setUseWeight(true);
145+
cityView.setUseWeight(useWeight);
146146
cityView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, cityWeight));
147147
layout.addView(cityView);
148148

149149
final WheelView countyView = createWheelView();
150-
countyView.setUseWeight(true);
150+
countyView.setUseWeight(useWeight);
151151
countyView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, countyWeight));
152152
layout.addView(countyView);
153153
if (hideCounty) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,7 @@ private void changeDayData(int selectedYear, int selectedMonth) {
753753
}
754754

755755
private void initHourData() {
756+
hours.clear();
756757
int currentHour = 0;
757758
if (!resetWhileWheel) {
758759
if (timeMode == HOUR_24) {
@@ -780,6 +781,7 @@ private void initHourData() {
780781
}
781782

782783
private void changeMinuteData(int selectedHour) {
784+
minutes.clear();
783785
if (startHour == endHour) {
784786
if (startMinute > endMinute) {
785787
int temp = startMinute;

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class LinkagePicker<Fst extends LinkageFirst<Snd>, Snd extends LinkageSec
3939
protected float firstColumnWeight = 1.0f;//第一级显示的宽度比重
4040
protected float secondColumnWeight = 1.0f;//第二级显示的宽度比重
4141
protected float thirdColumnWeight = 1.0f;//第三级显示的宽度比重
42+
protected boolean useWeight = true;
4243
private OnPickListener onPickListener;
4344
private OnLinkageListener onLinkageListener;
4445
private OnWheelListener onWheelListener;
@@ -166,6 +167,10 @@ public void setLabel(String firstLabel, String secondLabel, String thirdLabel) {
166167
this.thirdLabel = thirdLabel;
167168
}
168169

170+
public void setUseWeight(boolean useWeight) {
171+
this.useWeight = useWeight;
172+
}
173+
169174
public Fst getSelectedFirstItem() {
170175
if (selectedFirstItem == null) {
171176
//noinspection unchecked
@@ -273,6 +278,7 @@ protected View makeCenterView() {
273278
layout.setGravity(Gravity.CENTER);
274279

275280
final WheelView firstView = createWheelView();
281+
firstView.setUseWeight(useWeight);
276282
firstView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, firstColumnWeight));
277283
//firstView.setLabel(firstLabel);
278284
layout.addView(firstView);
@@ -283,6 +289,7 @@ protected View makeCenterView() {
283289
}
284290

285291
final WheelView secondView = createWheelView();
292+
secondView.setUseWeight(useWeight);
286293
secondView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, secondColumnWeight));
287294
//secondView.setLabel(secondLabel);
288295
layout.addView(secondView);
@@ -293,6 +300,7 @@ protected View makeCenterView() {
293300
}
294301

295302
final WheelView thirdView = createWheelView();
303+
thirdView.setUseWeight(useWeight);
296304
if (!provider.isOnlyTwo()) {
297305
thirdView.setLayoutParams(new LinearLayout.LayoutParams(0, WRAP_CONTENT, thirdColumnWeight));
298306
//thirdView.setLabel(thirdLabel);

0 commit comments

Comments
 (0)