Skip to content

Commit 9a61063

Browse files
committed
XXXPickerDialogFragment结合使用示例
1 parent f5751c3 commit 9a61063

9 files changed

Lines changed: 92 additions & 6 deletions

File tree

ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
## 4.1.10 - 2022.11.04
44

55
- Fix [issues#324](https://github.com/gzu-liyujiang/AndroidPicker/issues/324)
6+
- Opt [issues#294](https://github.com/gzu-liyujiang/AndroidPicker/issues/294) [issues#296](https://github.com/gzu-liyujiang/AndroidPicker/issues/296)
7+
- `XXXPicker``DialogFragment`结合使用示例。
68

79
## 4.1.9 - 2022.08.31
810

Common/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ apply from: "${rootDir}/gradle/publish.gradle"
1717
dependencies {
1818
implementation androidxLibrary.annotation
1919
implementation androidxLibrary.core
20+
api androidxLibrary.activity
2021
}

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,31 @@ public class AntFortuneLikePicker extends LinkagePicker {
386386
}
387387
````
388388

389+
### 和`DialogFragment`结合
390+
391+
`XXXPicker` 都继承自 `android.app.Dialog` ,因此可以直接和`androidx.fragment.app.DialogFragment`结合使用。
392+
393+
```java
394+
public class OptionPickerFragment extends DialogFragment {
395+
396+
@NonNull
397+
@Override
398+
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
399+
OptionPicker picker = new OptionPicker(requireActivity());
400+
picker.setData("土人", "里民子", "羡民", "穿青人", "不在56个民族之内", "未定民族");
401+
picker.setOnOptionPickedListener(new OnOptionPickedListener() {
402+
@Override
403+
public void onOptionPicked(int position, Object item) {
404+
Toast.makeText(requireContext(), item.toString(), Toast.LENGTH_SHORT).show();
405+
}
406+
});
407+
picker.getWheelView().setStyle(R.style.WheelStyleDemo);
408+
return picker;
409+
}
410+
411+
}
412+
```
413+
389414
## 效果预览
390415

391416
以下图片显示的效果可能已修改过,实际效果请运行 demo 查看。

app/src/main/java/com/github/gzuliyujiang/fallback/activity/AddressPickerActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public void onProvinceCityForGuiZhou(View view) {
109109
wheelLayout.setSelectedTextSize(17 * view.getResources().getDisplayMetrics().scaledDensity);
110110
wheelLayout.setSelectedTextBold(true);
111111
wheelLayout.setCurtainEnabled(true);
112-
wheelLayout.setCurtainColor(0xEE0081FF);
112+
wheelLayout.setCurtainColor(0xFF22EEFF);
113113
wheelLayout.setCurtainRadius(8 * view.getResources().getDisplayMetrics().density);
114114
int padding = (int) (10 * view.getResources().getDisplayMetrics().density);
115115
wheelLayout.setPadding(padding, 0, padding, 0);

app/src/main/java/com/github/gzuliyujiang/fallback/activity/FileExplorerFragment.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@
4040
*/
4141
public class FileExplorerFragment extends DialogFragment {
4242

43-
public FileExplorerFragment() {
44-
}
45-
4643
@Override
4744
@SuppressLint("PrivateResource")
4845
public void onCreate(@Nullable Bundle savedInstanceState) {

app/src/main/java/com/github/gzuliyujiang/fallback/activity/MainActivity.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ public void onOptionPicked(int position, Object item) {
8181
picker.show();
8282
}
8383

84+
public void onDialogFragment(View view) {
85+
new OptionPickerFragment().show(getSupportFragmentManager(), OptionPickerFragment.class.getName());
86+
}
87+
8488
public void onDateTimePicker(View view) {
8589
startActivity(DateTimePickerActivity.class);
8690
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Copyright (c) 2016-present 贵州纳雍穿青人李裕江<1032694760@qq.com>
3+
*
4+
* The software is licensed under the Mulan PSL v2.
5+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
6+
* You may obtain a copy of Mulan PSL v2 at:
7+
* http://license.coscl.org.cn/MulanPSL2
8+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
9+
* IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
10+
* PURPOSE.
11+
* See the Mulan PSL v2 for more details.
12+
*/
13+
14+
package com.github.gzuliyujiang.fallback.activity;
15+
16+
import android.app.Dialog;
17+
import android.os.Bundle;
18+
import android.widget.Toast;
19+
20+
import androidx.annotation.NonNull;
21+
import androidx.annotation.Nullable;
22+
import androidx.fragment.app.DialogFragment;
23+
24+
import com.github.gzuliyujiang.fallback.R;
25+
import com.github.gzuliyujiang.wheelpicker.OptionPicker;
26+
import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
27+
28+
/**
29+
* {@link androidx.fragment.app.Fragment}形式的弹窗
30+
*
31+
* @author 贵州山野羡民(1032694760@qq.com)
32+
* @since 2022/11/04
33+
*/
34+
public class OptionPickerFragment extends DialogFragment {
35+
36+
@NonNull
37+
@Override
38+
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
39+
OptionPicker picker = new OptionPicker(requireActivity());
40+
picker.setData("土人", "里民子", "羡民", "穿青人", "不在56个民族之内", "未定民族");
41+
picker.setOnOptionPickedListener(new OnOptionPickedListener() {
42+
@Override
43+
public void onOptionPicked(int position, Object item) {
44+
Toast.makeText(requireContext(), item.toString(), Toast.LENGTH_SHORT).show();
45+
}
46+
});
47+
picker.getWheelView().setStyle(R.style.WheelStyleDemo);
48+
return picker;
49+
}
50+
51+
}

app/src/main/res/layout/activity_picker_main.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@
4242
android:text="切换弹窗样式"
4343
android:textColor="#FFFF0000" />
4444

45+
<Button
46+
android:layout_width="match_parent"
47+
android:layout_height="wrap_content"
48+
android:onClick="onDialogFragment"
49+
android:text="结合DialogFragment" />
50+
4551
<Button
4652
android:layout_width="match_parent"
4753
android:layout_height="wrap_content"

gradle/dependency.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ ext {
5454
// 谷歌支持库 https://developer.android.google.cn/jetpack/androidx/versions/stable-channel?hl=zh-cn
5555
androidxLibrary = [
5656
annotation : "androidx.annotation:annotation:1.1.0",
57-
core : "androidx.core:core:1.5.0-rc01",
57+
core : "androidx.core:core:1.5.0",
5858
collection : "androidx.collection:collection:1.1.0",
5959
multidex : "androidx.multidex:multidex:2.0.0",
60-
activity : "androidx.activity:activity:1.3.0-beta01",
60+
activity : "androidx.activity:activity:1.2.4",
6161
fragment : "androidx.fragment:fragment:1.3.4",
6262
appcompat : "androidx.appcompat:appcompat:1.3.0",
6363
localbroadcastmanager : "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0",

0 commit comments

Comments
 (0)