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 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); } }