XListViewFooter

来源:互联网 发布:天刀男号捏脸数据 编辑:程序博客网 时间:2024/05/21 12:21
package com.example.day_13demo1.view;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;import com.example.day_13demo1.R;/** * Created by dell on 2017/10/14. */public class XListViewFooter extends LinearLayout {    public final static int STATE_NORMAL = 0;    public final static int STATE_READY = 1;    public final static int STATE_LOADING = 2;    private Context mContext;    private View mContentView;    private View mProgressBar;    private TextView mHintView;    public XListViewFooter(Context context) {        super(context);        initView(context);    }    public XListViewFooter(Context context, AttributeSet attrs) {        super(context, attrs);        initView(context);    }    public void setState(int state) {        mHintView.setVisibility(View.INVISIBLE);        mProgressBar.setVisibility(View.INVISIBLE);        mHintView.setVisibility(View.INVISIBLE);        if (state == STATE_READY) {            mHintView.setVisibility(View.VISIBLE);            mHintView.setText(R.string.xlistview_footer_hint_ready);        } else if (state == STATE_LOADING) {            mProgressBar.setVisibility(View.VISIBLE);        } else {            mHintView.setVisibility(View.VISIBLE);            mHintView.setText(R.string.xlistview_footer_hint_normal);        }    }    public void setBottomMargin(int height) {        if (height < 0) return ;        LayoutParams lp = (LayoutParams)mContentView.getLayoutParams();        lp.bottomMargin = height;        mContentView.setLayoutParams(lp);    }    public int getBottomMargin() {        LayoutParams lp = (LayoutParams)mContentView.getLayoutParams();        return lp.bottomMargin;    }    /**     * normal status     */    public void normal() {        mHintView.setVisibility(View.VISIBLE);        mProgressBar.setVisibility(View.GONE);    }    /**     * loading status     */    public void loading() {        mHintView.setVisibility(View.GONE);        mProgressBar.setVisibility(View.VISIBLE);    }    /**     * hide footer when disable pull load more     */    public void hide() {        LayoutParams lp = (LayoutParams)mContentView.getLayoutParams();        lp.height = 0;        mContentView.setLayoutParams(lp);    }    /**     * show footer     */    public void show() {        LayoutParams lp = (LayoutParams)mContentView.getLayoutParams();        lp.height = LayoutParams.WRAP_CONTENT;        mContentView.setLayoutParams(lp);    }    private void initView(Context context) {        mContext = context;        LinearLayout moreView = (LinearLayout) LayoutInflater.from(mContext).inflate(R.layout.xlistview_footer, null);        addView(moreView);        moreView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));        mContentView = moreView.findViewById(R.id.xlistview_footer_content);        mProgressBar = moreView.findViewById(R.id.xlistview_footer_progressbar);        mHintView = (TextView)moreView.findViewById(R.id.xlistview_footer_hint_textview);    }}
原创粉丝点击