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

点击自动扩张列表高度

作者: 恨水东逝 | 来源:发表于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;
            }
        }
    }
    
    

    相关文章

      网友评论

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

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