Skip to content

Commit 2a35d2a

Browse files
committed
继承RelativeLayout
1 parent 31f1474 commit 2a35d2a

1 file changed

Lines changed: 49 additions & 60 deletions

File tree

android/src/main/java/com/lmy/header/AnyHeader.java

Lines changed: 49 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3,116 +3,105 @@
33
import android.content.Context;
44
import android.support.annotation.ColorInt;
55
import android.support.annotation.NonNull;
6-
import android.util.AttributeSet;
7-
import android.view.Gravity;
86
import android.view.View;
9-
import android.widget.ImageView;
10-
import android.widget.LinearLayout;
11-
import android.widget.TextView;
7+
import android.widget.RelativeLayout;
128

139
import com.scwang.smartrefresh.layout.api.RefreshHeader;
1410
import com.scwang.smartrefresh.layout.api.RefreshKernel;
1511
import com.scwang.smartrefresh.layout.api.RefreshLayout;
1612
import com.scwang.smartrefresh.layout.constant.RefreshState;
1713
import com.scwang.smartrefresh.layout.constant.SpinnerStyle;
18-
import com.scwang.smartrefresh.layout.internal.ProgressDrawable;
19-
import com.scwang.smartrefresh.layout.internal.pathview.PathsView;
20-
import com.scwang.smartrefresh.layout.util.DensityUtil;
2114

2215
/**anyview
2316
* Created by painter.g on 2018/3/9.
2417
*/
2518

26-
public class AnyHeader extends LinearLayout implements RefreshHeader {
27-
private TextView mHeaderText;//标题文本
28-
private PathsView mArrowView;//下拉箭头
29-
private ImageView mProgressView;//刷新动画视图
30-
private ProgressDrawable mProgressDrawable;//刷新动画
31-
private View view;
32-
private View pullDownToRefreshView;
33-
private View releaseToRefreshView;
34-
private View refreshingView;
35-
protected int mPaddingTop = 20;
36-
protected int mPaddingBottom = 20;
19+
public class AnyHeader extends RelativeLayout implements RefreshHeader {
3720
private RefreshKernel mRefreshKernel;
21+
private int mBackgroundColor;
3822

3923
public AnyHeader(Context context) {
4024
super(context);
41-
initView(context);
42-
}
43-
public AnyHeader(Context context, AttributeSet attrs) {
44-
super(context, attrs);
45-
this.initView(context);
46-
}
47-
public AnyHeader(Context context, AttributeSet attrs, int defStyleAttr) {
48-
super(context, attrs, defStyleAttr);
49-
this.initView(context);
5025
}
5126
@Override
5227
public void onInitialized(@NonNull RefreshKernel kernel, int height, int extendHeight) {
5328
mRefreshKernel = kernel;
54-
// mRefreshKernel.requestDrawBackgroundForHeader(Color.parseColor("red"));
29+
mRefreshKernel.requestDrawBackgroundForHeader(mBackgroundColor);
5530
}
5631
private void initView(Context context) {
57-
setGravity(Gravity.CENTER);
58-
//view = new TextView(context);
59-
//mProgressDrawable = new ProgressDrawable();
60-
// mArrowView = new PathsView(context);
61-
//mProgressView = new ImageView(context);
62-
//mProgressView.setImageDrawable(mProgressDrawable);
63-
// mArrowView.parserPaths("M20,12l-1.41,-1.41L13,16.17V4h-2v12.17l-5.58,-5.59L4,12l8,8 8,-8z");
64-
// addView(mProgressView, DensityUtil.dp2px(20), DensityUtil.dp2px(20));
65-
// addView(mArrowView, DensityUtil.dp2px(20), DensityUtil.dp2px(20));
66-
addView(new View(context), DensityUtil.dp2px(20), DensityUtil.dp2px(20));
67-
//((TextView)view).setText("SmartRefreshLayout");
68-
//addView(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
69-
setMinimumHeight(DensityUtil.dp2px(60));
32+
//setMinimumHeight(DensityUtil.dp2px(60));
33+
}
34+
public void setView(View v){
35+
addView(v);
7036
}
7137
@NonNull
7238
public View getView() {
7339
return this;//真实的视图就是自己,不能返回null
7440
}
75-
public void setView(View view){
76-
if(view !=null){
77-
addView(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
78-
}
79-
//return this;
80-
}
41+
8142
@Override
8243
public SpinnerStyle getSpinnerStyle() {
8344
return SpinnerStyle.Translate;//指定为平移,不能null
8445
}
46+
8547
@Override
86-
public void onStartAnimator(RefreshLayout layout, int headHeight, int extendHeight) {
87-
//mProgressDrawable.start();//开始动画
48+
public void setPrimaryColors(int... colors) {
49+
8850
}
51+
52+
public AnyHeader setPrimaryColor(@ColorInt int primaryColor) {
53+
mBackgroundColor = primaryColor;
54+
if (mRefreshKernel != null) {
55+
mRefreshKernel.requestDrawBackgroundForHeader(primaryColor);
56+
}
57+
return this;
58+
}
59+
8960
@Override
90-
public int onFinish(RefreshLayout layout, boolean success) {
91-
return 500;//延迟500毫秒之后再弹回
61+
public void onPulling(float percent, int offset, int height, int extendHeight) {
62+
9263
}
64+
9365
@Override
94-
public void onStateChanged(RefreshLayout refreshLayout, RefreshState oldState, RefreshState newState) {
66+
public void onReleasing(float percent, int offset, int height, int extendHeight) {
67+
9568
}
69+
9670
@Override
97-
public boolean isSupportHorizontalDrag() {
98-
return false;
71+
public void onReleased(RefreshLayout refreshLayout, int height, int extendHeight) {
72+
9973
}
10074

10175
@Override
102-
public void onHorizontalDrag(float percentX, int offsetX, int offsetMax) {
76+
public void onStartAnimator(@NonNull RefreshLayout refreshLayout, int height, int extendHeight) {
77+
10378
}
79+
10480
@Override
105-
public void onPulling(float percent, int offset, int headHeight, int extendHeight) {
81+
public int onFinish(@NonNull RefreshLayout refreshLayout, boolean success) {
82+
return 0;
10683
}
10784

10885
@Override
109-
public void onReleased(RefreshLayout refreshLayout, int height, int extendHeight) {
86+
public void onHorizontalDrag(float percentX, int offsetX, int offsetMax) {
87+
11088
}
11189

11290
@Override
113-
public void onReleasing(float percent, int offset, int headHeight, int extendHeight) {
91+
public boolean isSupportHorizontalDrag() {
92+
return false;
11493
}
94+
11595
@Override
116-
public void setPrimaryColors(@ColorInt int ... colors){
96+
public void onStateChanged(RefreshLayout refreshLayout, RefreshState oldState, RefreshState newState) {
97+
11798
}
99+
/*@Override
100+
protected void onFinishInflate() {
101+
int childCount = getChildCount();
102+
for(int i=0;i<childCount;i++){
103+
addView(getChildAt(i));
104+
}
105+
super.onFinishInflate();
106+
}*/
118107
}

0 commit comments

Comments
 (0)