美文网首页
点击自动扩张列表高度

点击自动扩张列表高度

作者: 恨水东逝 | 来源:发表于2020-01-08 11:37 被阅读0次
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

/**
 * 点击自动扩张列表高度
 * @author zhaocheng
 */
public class MarkListView extends ListView implements AdapterView.OnItemClickListener {

    private final String TAG = "MarkListView";

    private boolean isWrapHeight = false;

    /**
     * 列表变化的高度
     */
    private int HEIGHT;

    public MarkListView(Context context) {
        this(context, null);
    }

    public MarkListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setOnItemClickListener(this);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        return super.dispatchTouchEvent(ev);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        if (HEIGHT == 0) {
            HEIGHT = h * 2;
        }
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if (isWrapHeight) {
            wrapHeight(false);
        } else {
            wrapHeight(true);
        }
    }

    /**
     * 扩展列表高度
     * @param wrap
     */
    public void wrapHeight(boolean wrap) {
        if (isWrapHeight != wrap) {
            ViewGroup.LayoutParams lp = getLayoutParams();
            if (wrap) {
                lp.height += HEIGHT;
            } else {
                lp.height -= HEIGHT;
            }
            setLayoutParams(lp);
            isWrapHeight = wrap;
        }
    }
}

相关文章

  • 点击自动扩张列表高度

  • AsyncDisplayKit

    自动计算Text高度: ASTableNode: ASCellNode: 点击Cell展开

  • 解决blur与click冲突

    背景 在开发下拉选择(picker)组件中遇到,点击输入框出现下拉列表,再点击下拉列表选项后下拉列表自动收缩,然而...

  • Android recycleview实现侧滑删除

    布局 Item点击监听 侧滑菜单 注意:菜单需要设置高度,关于菜单高度:1:MATCH_PARENT,自动适应It...

  • 点击空白关闭弹窗

    最近做自动补全搜索框,输入时,弹出自动补全的列表弹窗,当我不想选择任何一个列表选项,就会点击其他地方,这时需要关闭...

  • Vue学习笔记——初探动态绑定

    看着视频教程写了一个小demo,功能为在输入框输入值确定后自动更新列表,点击列表的X按钮则自动删除该项。这个功能实...

  • 【WPF】Expander只展示一个

    点击某个标题的时候,自动展开下面的子项列表,同时关闭之前展开的子项列表。 详参考:数据浏览表的Expander 1...

  • RecycleView联动切换列表

    点击左边的type标签可以切换右边对应的列表数据的位置,滑动右边的列表可以自动匹配到左边的type标签。具体实现可...

  • 缓存组件keep-alive

    后台管理项目中,会遇到从列表点进去查看详情,然后再返回列表页面就会自动刷新。比如,从列表第10页的某一条点击进入详...

  • iOS11.0-UITableViewController自动弹

    UITableViewController自动弹出键盘 场景:输入列表,n个输入框(每一行44高度,30个cell...

网友评论

      本文标题:点击自动扩张列表高度

      本文链接:https://www.haomeiwen.com/subject/ozojactx.html