Skip to content

Commit 83321b8

Browse files
author
wsc
committed
完成自主开发的DropboxHeader
1 parent c465695 commit 83321b8

23 files changed

+267
-94
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@
113113
android:name=".activity.practice.ProfilePracticeActivity"
114114
android:label="@string/title_activity_practice_profile"
115115
android:screenOrientation="portrait"/>
116+
<activity
117+
android:name=".activity.practice.WebviewPracticeActivity"
118+
android:label="@string/title_activity_practice_profile"
119+
android:screenOrientation="portrait"/>
116120
</application>
117121

118122
</manifest>

app/src/main/java/com/scwang/refreshlayout/activity/SelectRegionActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ protected void onCreate(Bundle savedInstanceState) {
3131
super.onCreate(savedInstanceState);
3232
setContentView(R.layout.activity_select_region);
3333

34-
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
34+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
3535
if (toolbar != null) {
3636
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
3737
@Override

app/src/main/java/com/scwang/refreshlayout/activity/practice/ProfilePracticeActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,14 @@
1313
*/
1414
public class ProfilePracticeActivity extends AppCompatActivity {
1515

16-
private Toolbar mToolbar;
1716

1817
@Override
1918
protected void onCreate(Bundle savedInstanceState) {
2019
super.onCreate(savedInstanceState);
2120
setContentView(R.layout.activity_practice_profile);
2221

23-
mToolbar = (Toolbar) findViewById(R.id.toolbar);
24-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
22+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
23+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
2524
@Override
2625
public void onClick(View v) {
2726
finish();
@@ -30,7 +29,7 @@ public void onClick(View v) {
3029

3130
//状态栏透明和间距处理
3231
StatusBarUtil.immersive(this);
33-
StatusBarUtil.setPaddingSmart(this, mToolbar);
32+
StatusBarUtil.setPaddingSmart(this, toolbar);
3433
StatusBarUtil.setPaddingSmart(this, findViewById(R.id.profile));
3534
StatusBarUtil.setPaddingSmart(this, findViewById(R.id.blurview));
3635
}

app/src/main/java/com/scwang/refreshlayout/activity/practice/RepastPracticeActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ private class Model {
3232
String nickname;
3333
}
3434

35-
private Toolbar mToolbar;
3635
private static boolean isFirstEnter = true;
3736
private BaseRecyclerAdapter<Model> mAdapter;
3837

@@ -41,8 +40,8 @@ protected void onCreate(Bundle savedInstanceState) {
4140
super.onCreate(savedInstanceState);
4241
setContentView(R.layout.activity_practice_repast);
4342

44-
mToolbar = (Toolbar) findViewById(R.id.toolbar);
45-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
43+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
44+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
4645
@Override
4746
public void onClick(View v) {
4847
finish();
@@ -103,7 +102,7 @@ public void run() {
103102
//状态栏透明和间距处理
104103
StatusBarUtil.darkMode(this);
105104
StatusBarUtil.setPaddingSmart(this, view);
106-
StatusBarUtil.setPaddingSmart(this, mToolbar);
105+
StatusBarUtil.setPaddingSmart(this, toolbar);
107106
StatusBarUtil.setPaddingSmart(this, findViewById(R.id.blurview));
108107
StatusBarUtil.setMargin(this, findViewById(R.id.gifview));
109108
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.scwang.refreshlayout.activity.practice;
2+
3+
import android.annotation.SuppressLint;
4+
import android.os.Bundle;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.support.v7.widget.Toolbar;
7+
import android.view.View;
8+
import android.webkit.WebView;
9+
import android.webkit.WebViewClient;
10+
11+
import com.scwang.refreshlayout.R;
12+
import com.scwang.refreshlayout.util.StatusBarUtil;
13+
import com.scwang.smartrefresh.layout.api.RefreshLayout;
14+
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
15+
16+
import java.util.Locale;
17+
18+
/**
19+
* 网页-Github
20+
*/
21+
public class WebviewPracticeActivity extends AppCompatActivity {
22+
23+
@SuppressLint("SetJavaScriptEnabled")
24+
@Override
25+
protected void onCreate(Bundle savedInstanceState) {
26+
super.onCreate(savedInstanceState);
27+
setContentView(R.layout.activity_practice_webview);
28+
29+
final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
30+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
31+
@Override
32+
public void onClick(View v) {
33+
finish();
34+
}
35+
});
36+
37+
final WebView webView = (WebView) findViewById(R.id.webView);
38+
final RefreshLayout refreshLayout = (RefreshLayout) findViewById(R.id.smartLayout);
39+
refreshLayout.setOnRefreshListener(new OnRefreshListener() {
40+
@Override
41+
public void onRefresh(RefreshLayout refreshlayout) {
42+
webView.loadUrl("http://github.com");
43+
}
44+
});
45+
refreshLayout.autoRefresh();
46+
47+
48+
webView.getSettings().setJavaScriptEnabled(true);
49+
webView.setWebViewClient(new WebViewClient(){
50+
@Override
51+
public boolean shouldOverrideUrlLoading(WebView view, String url) {
52+
view.loadUrl(url);
53+
return true;
54+
}
55+
@Override
56+
public void onPageCommitVisible(WebView view, String url) {
57+
refreshLayout.finishRefresh();
58+
}@Override
59+
public void onPageFinished(WebView view, String url) {
60+
webView.loadUrl(String.format(Locale.CHINA, "javascript:document.body.style.paddingTop='%dpx'; void 0", webView.getPaddingTop()));
61+
}
62+
});
63+
64+
//状态栏透明和间距处理
65+
StatusBarUtil.immersive(this);
66+
StatusBarUtil.setPaddingSmart(this, webView);
67+
StatusBarUtil.setPaddingSmart(this, toolbar);
68+
StatusBarUtil.setMargin(this, findViewById(R.id.header));
69+
StatusBarUtil.setPaddingSmart(this, findViewById(R.id.blurview));
70+
}
71+
72+
}

app/src/main/java/com/scwang/refreshlayout/activity/style/FlyRefreshStyleActivity.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ public class FlyRefreshStyleActivity extends AppCompatActivity {
5656

5757
private FlyView mFlyView;
5858
private ArrayList<ItemData> mDataSet = new ArrayList<>();
59-
private Toolbar mToolbar;
60-
private LinearLayoutManager mLayoutManager;
59+
private LinearLayoutManager mLayoutManager;
6160
private MountanScenceView mScenceView;
6261
private FlyRefreshHeader mFlyRefreshHeader;
6362
private CollapsingToolbarLayout mToolbarLayout;
@@ -69,9 +68,9 @@ public class FlyRefreshStyleActivity extends AppCompatActivity {
6968
protected void onCreate(Bundle savedInstanceState) {
7069
super.onCreate(savedInstanceState);
7170
setContentView(R.layout.activity_fly_refresh);
72-
mToolbar = (Toolbar) findViewById(R.id.toolbar);
73-
setSupportActionBar(mToolbar);
74-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
71+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
72+
setSupportActionBar(toolbar);
73+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
7574
@Override
7675
public void onClick(View v) {
7776
finish();
@@ -111,18 +110,18 @@ public void onAnimationEnd(Animator animation) {
111110
}, 2000);//模拟两秒的后台数据加载
112111
}
113112
});
114-
//设置 让 AppBarLayout 和 RefreshLayout 的滚动同步 并不保持 mToolbar 位置不变
113+
//设置 让 AppBarLayout 和 RefreshLayout 的滚动同步 并不保持 toolbar 位置不变
115114
final AppBarLayout appBar = (AppBarLayout) findViewById(R.id.app_bar);
116115
mRefreshlayout.setOnMultiPurposeListener(new SimpleMultiPurposeListener() {
117116
@Override
118117
public void onHeaderPulling(RefreshHeader header, float percent, int offset, int footerHeight, int extendHeight) {
119118
appBar.setTranslationY(offset);
120-
mToolbar.setTranslationY(-offset);
119+
toolbar.setTranslationY(-offset);
121120
}
122121
@Override
123122
public void onHeaderReleasing(RefreshHeader header, float percent, int offset, int footerHeight, int extendHeight) {
124123
appBar.setTranslationY(offset);
125-
mToolbar.setTranslationY(-offset);
124+
toolbar.setTranslationY(-offset);
126125
}
127126
});
128127
/************************************************************

app/src/main/java/com/scwang/refreshlayout/activity/using/AssignCodeUsingActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,15 @@
1818
*/
1919
public class AssignCodeUsingActivity extends AppCompatActivity {
2020

21-
private Toolbar mToolbar;
22-
private static boolean isFirstEnter = true;
21+
private static boolean isFirstEnter = true;
2322

2423
@Override
2524
protected void onCreate(Bundle savedInstanceState) {
2625
super.onCreate(savedInstanceState);
2726
setContentView(R.layout.activity_using_assign_code);
2827

29-
mToolbar = (Toolbar)findViewById(R.id.toolbar);
30-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
28+
final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
29+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
3130
@Override
3231
public void onClick(View v) {
3332
finish();

app/src/main/java/com/scwang/refreshlayout/activity/using/AssignDefaultUsingActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
*/
2626
public class AssignDefaultUsingActivity extends AppCompatActivity {
2727

28-
private Toolbar mToolbar;
29-
private static boolean isFirstEnter = true;
28+
private static boolean isFirstEnter = true;
3029

3130
/**
3231
* 关键代码,需要在布局生成之前设置,建议代码放在 Application.onCreate 中
@@ -60,8 +59,8 @@ protected void onCreate(Bundle savedInstanceState) {
6059
super.onCreate(savedInstanceState);
6160
setContentView(R.layout.activity_using_assign_default);
6261

63-
mToolbar = (Toolbar)findViewById(R.id.toolbar);
64-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
62+
final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
63+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
6564
@Override
6665
public void onClick(View v) {
6766
finish();

app/src/main/java/com/scwang/refreshlayout/activity/using/AssignXmlUsingActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@
1515
*/
1616
public class AssignXmlUsingActivity extends AppCompatActivity {
1717

18-
private Toolbar mToolbar;
19-
private static boolean isFirstEnter = true;
18+
private static boolean isFirstEnter = true;
2019

2120
@Override
2221
protected void onCreate(Bundle savedInstanceState) {
2322
super.onCreate(savedInstanceState);
2423
setContentView(R.layout.activity_using_assign_xml);
2524

26-
mToolbar = (Toolbar)findViewById(R.id.toolbar);
27-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
25+
final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
26+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
2827
@Override
2928
public void onClick(View v) {
3029
finish();

app/src/main/java/com/scwang/refreshlayout/activity/using/BasicUsingActivity.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,15 @@
2525
*/
2626
public class BasicUsingActivity extends AppCompatActivity {
2727

28-
private Toolbar mToolbar;
29-
private BaseRecyclerAdapter<Void> mAdapter;
30-
private static boolean isFirstEnter = true;
28+
private BaseRecyclerAdapter<Void> mAdapter;
3129

3230
@Override
3331
protected void onCreate(Bundle savedInstanceState) {
3432
super.onCreate(savedInstanceState);
3533
setContentView(R.layout.activity_using_basic);
3634

37-
mToolbar = (Toolbar)findViewById(R.id.toolbar);
38-
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
35+
final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
36+
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
3937
@Override
4038
public void onClick(View v) {
4139
finish();
@@ -83,11 +81,8 @@ public void run() {
8381
}
8482
});
8583

86-
if (isFirstEnter) {
87-
isFirstEnter = false;
88-
//触发自动刷新
89-
refreshLayout.autoRefresh();
90-
}
84+
//触发自动刷新
85+
refreshLayout.autoRefresh();
9186

9287
}
9388

0 commit comments

Comments
 (0)