package com.mogujie.tt.widget; import com.mogujie.tt.R; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; public class MGProgressbar extends LinearLayout { private ProgressBar mProgressBar; private TextView mLoadingText; private Button mRefreshButton; private boolean mbTextShow = true; public interface OnRefreshBtnListener { void onRefresh(); } public MGProgressbar(Context context) { this(context, null); } public MGProgressbar(Context context, AttributeSet attrs) { super(context, attrs); setOrientation(LinearLayout.VERTICAL); LayoutInflater inflater = (LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.tt_progress, this, true); mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); mLoadingText = (TextView) findViewById(R.id.loading_text); mRefreshButton = (Button) findViewById(R.id.refresh_button); hideProgress(); } public void showProgress() { mProgressBar.setVisibility(View.VISIBLE); if (mbTextShow) { mLoadingText.setVisibility(View.VISIBLE); } mRefreshButton.setVisibility(View.GONE); } public void hideProgress() { mProgressBar.setVisibility(View.GONE); mLoadingText.setVisibility(View.GONE); mRefreshButton.setVisibility(View.GONE); } public void showRefreshBtn() { mRefreshButton.setVisibility(View.VISIBLE); mProgressBar.setVisibility(View.GONE); mLoadingText.setVisibility(View.GONE); } public void setRefreshBtnListener(final OnRefreshBtnListener listener) { mRefreshButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showProgress(); listener.onRefresh(); } }); } public void setShowText(boolean bShow) { mbTextShow = bShow; } public void setText(String text) { mLoadingText.setText(text); } }