package com.ab.fragment;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.ab.util.AbViewUtil;
/**
* © 2012 amsoft.cn
* 名称:AbRefreshDialogFragment.java
* 描述:弹出的刷新框
*
* @author 还如一梦中
* @version v1.0
* @date:2014-07-30 上午11:00:52
*/
public class AbRefreshDialogFragment extends AbDialogFragment {
private int mTheme;
private int mStyle;
private int mIndeterminateDrawable;
private int mTextSize = 15;
private int mTextColor = Color.GRAY;
private View mContentView;
private TextView mTextView = null;
private ImageView mImageView = null;
/**
* Create a new instance of AbDialogFragment, providing "style" as an
* argument.
*/
public static AbRefreshDialogFragment newInstance(int style, int theme) {
//不用单例模式
AbRefreshDialogFragment f = new AbRefreshDialogFragment();
// Supply style input as an argument.
Bundle args = new Bundle();
args.putInt("style", style);
args.putInt("theme", theme);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mStyle = getArguments().getInt("style");
mTheme = getArguments().getInt("theme");
setStyle(mStyle, mTheme);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
LinearLayout parent = new LinearLayout(this.getActivity());
parent.setGravity(Gravity.CENTER);
parent.setOrientation(LinearLayout.VERTICAL);
parent.setPadding(20, 20, 20, 20);
parent.setMinimumWidth(AbViewUtil.scaleValue(this.getActivity(), 400));
mImageView = new ImageView(this.getActivity());
mImageView.setImageResource(mIndeterminateDrawable);
mImageView.setScaleType(ScaleType.MATRIX);
mTextView = new TextView(this.getActivity());
mTextView.setText(mMessage);
mTextView.setTextColor(mTextColor);
mTextView.setTextSize(mTextSize);
mTextView.setPadding(5, 5, 5, 5);
parent.addView(mImageView, new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
parent.addView(mTextView, new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
mImageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 执行刷新
load(v);
}
});
mContentView = parent;
return mContentView;
}
public View getContentView() {
return mContentView;
}
public int getTextSize() {
return mTextSize;
}
public void setTextSize(int textSize) {
this.mTextSize = textSize;
}
public int getTextColor() {
return mTextColor;
}
public void setTextColor(int textColor) {
this.mTextColor = textColor;
}
@Override
public void setMessage(String message) {
this.mMessage = message;
if(mTextView!=null){
mTextView.setText(mMessage);
}
}
public int getIndeterminateDrawable() {
return mIndeterminateDrawable;
}
public void setIndeterminateDrawable(int indeterminateDrawable) {
this.mIndeterminateDrawable = indeterminateDrawable;
}
public void setBackgroundColor(int backgroundColor) {
mContentView.setBackgroundColor(backgroundColor);
}
}