lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package com.ypx.imagepicker.views.base;
 
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
 
import androidx.annotation.Nullable;
 
import com.ypx.imagepicker.bean.ImageItem;
import com.ypx.imagepicker.bean.ImageSet;
import com.ypx.imagepicker.bean.selectconfig.BaseSelectConfig;
 
import java.util.ArrayList;
 
/**
 * Time: 2019/11/7 13:24
 * Author:ypx
 * Description: 选择器控制类
 */
public abstract class PickerControllerView extends PBaseLayout {
 
    /**
     * @return 获取当前view的高度
     */
    public abstract int getViewHeight();
 
    /**
     * @return 获取可以点击触发完成回调的View,如果返回null,则代表不可以触发完成回调
     */
    public abstract View getCanClickToCompleteView();
 
    /**
     * @return 获取可以跳转到预览的View,如果返回null,则代表不可触发跳转预览
     */
    public abstract View getCanClickToIntentPreviewView();
 
    /**
     * @return 获取可以切换文件夹列表的View,返回null,则不切换文件夹
     */
    public abstract View getCanClickToToggleFolderListView();
 
    /**
     * @param title 设置默认标题
     */
    public abstract void setTitle(String title);
 
    /**
     * 切换文件夹
     *
     * @param isOpen 当前是否是打开文件夹
     */
    public abstract void onTransitImageSet(boolean isOpen);
 
    /**
     * 切换文件夹回调
     *
     * @param imageSet 当前切换的文件夹
     */
    public abstract void onImageSetSelected(ImageSet imageSet);
 
    /**
     * 刷新完成按钮状态
     *
     * @param selectedList 已选中列表
     * @param selectConfig 选择器配置项
     */
    public abstract void refreshCompleteViewState(ArrayList<ImageItem> selectedList, BaseSelectConfig selectConfig);
 
    public boolean isAddInParent() {
        return getViewHeight() > 0;
    }
 
    public PickerControllerView(Context context) {
        super(context);
    }
 
    public PickerControllerView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }
 
    public PickerControllerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
 
}