Android可筛选的弹窗控件可筛选的弹窗控件CustomFiltControl
本文实例为大家分享了Android弹窗控件CustomFiltControl的使用方法,供大家参考,具体内容如下
效果:效果:
起初踩的坑:起初踩的坑:
刚开始是因为项目中需要用到筛选的功能,以前也遇到过但都是其他同事做的,而我看他们的实现大多都是自己一个个的
码布局,然后做事件处理很麻烦,还有的是通过网上的一些线性排列控件自己组合实现的。
如今自己遇到了我开始想的也是通过LinearLayout动态去添加选项,title部分就是也是动态添加,一个打的LinearLayout包
两个小的,然后在小的里面又包很多选项,但是遇到要换行的时候又需要添加一个LinearLayout,也就是但是有个问题,布局
繁琐,得不到很好的复用。
后面突然想到了GridLayout,然后又使用了LinearLayout+GridLayout,对GridLayout是可以避免在你换行的时候去计算,只要
你设置好行列,它会自动换行,这是确实实现了上面的效果,但是博主写好了又发现不够完美,既然GridLayout能自动换行,
又可以一个站多行多列,为什么不把title也放到GridLayout中呢,有了这个想法,又来修改,在计算行列的时候确实遇到了阻
碍,不过终究是完成了,最后封装在了popuwindow中直接调用。
看看主要实现吧:
package com.zzq.mack.customfiltcontrol;
import android.content.Context;
import android.graphics.Color;
import android.support.v7.widget.GridLayout;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;