diff --git a/app/build.gradle b/app/build.gradle
index 9e6509c6..4de281f1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -53,4 +53,6 @@ dependencies {
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-beta-2'
implementation project(path: ':ideahttp')
+ api 'com.jakewharton:butterknife:10.2.0'
+ annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93aa3d37..b23354d5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,17 +12,9 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
-
-
-
-
-
+ android:name=".activity.WelcomeActivity"
+ android:theme="@style/FullScreenTheme" >
@@ -30,6 +22,13 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/MainActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/activity/MainActivity.java
index 152fb310..386d09eb 100644
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/MainActivity.java
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/activity/MainActivity.java
@@ -1,43 +1,91 @@
package com.example.zhpan.circleviewpager.activity;
+import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.viewpager.widget.ViewPager;
-import android.view.View;
+import android.widget.RadioGroup;
import com.example.zhpan.circleviewpager.R;
+import com.example.zhpan.circleviewpager.adapter.AdapterFragmentPager;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity {
+ @BindView(R.id.rg_tab)
+ RadioGroup rgTab;
+ @BindView(R.id.vp_fragment)
+ ViewPager mViewPager;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ ButterKnife.bind(this);
+ initData();
+ setListener();
}
- public void onClick(View view) {
- Intent intent;
- switch (view.getId()) {
- case R.id.tv_page_style:
- intent = new Intent(this, PageStyleActivity.class);
- break;
- case R.id.btn_view_pager3:
- intent = new Intent(this, PhotoViewActivity.class);
- break;
- case R.id.btn_view_pager5:
- intent = new Intent(this, PageTransformerActivity.class);
+ private void initData() {
+ AdapterFragmentPager mAdapter = new AdapterFragmentPager(getSupportFragmentManager());
+ mViewPager.setAdapter(mAdapter);
+ mViewPager.setOffscreenPageLimit(2);
+ mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ rgTab.check(getCheckedId(position));
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+
+ }
+ });
+ }
+
+ private int getCheckedId(int position) {
+ int checkedId = R.id.rb_home;
+ switch (position) {
+ case 0:
+ checkedId = R.id.rb_home;
break;
- case R.id.btn_indicator_style:
- intent = new Intent(this, IndicatorStyleActivity.class);
+ case 1:
+ checkedId = R.id.rb_find;
break;
- case R.id.btn_view_pager4:
- default:
- intent = new Intent(this, NetworkBannerActivity.class);
+ case 2:
+ checkedId = R.id.rb_add;
break;
}
- startActivity(intent);
+ return checkedId;
+ }
+
+ private void setListener() {
+ rgTab.setOnCheckedChangeListener((group, checkedId) -> {
+ if (checkedId == R.id.rb_home) {
+ mViewPager.setCurrentItem(AdapterFragmentPager.PAGE_HOME, false);
+
+ } else if (checkedId == R.id.rb_find) {
+ mViewPager.setCurrentItem(AdapterFragmentPager.PAGE_FIND, false);
+
+ } else if (checkedId == R.id.rb_add) {
+ mViewPager.setCurrentItem(AdapterFragmentPager.PAGE_OTHERS, false);
+ }
+ });
+ }
+
+ public static void start(Context context) {
+ context.startActivity(new Intent(context, MainActivity.class));
}
+
}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/PageTransformerActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/activity/PageTransformerActivity.java
deleted file mode 100644
index 32574ee3..00000000
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/PageTransformerActivity.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.example.zhpan.circleviewpager.activity;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import android.os.Bundle;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Toast;
-
-import com.example.zhpan.circleviewpager.R;
-import com.example.zhpan.circleviewpager.viewholder.TransformerViewHolder;
-import com.zhpan.bannerview.BannerViewPager;
-import com.zhpan.bannerview.constants.TransformerStyle;
-import com.zhpan.bannerview.transform.StackTransformer;
-
-import java.util.ArrayList;
-
-public class PageTransformerActivity extends AppCompatActivity {
-
- private static final String TAG = "PageTransformerActivity";
- private BannerViewPager mViewpager;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_page_transformer);
- setTitle(R.string.title_transformer);
- initViewPager();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.transformer_menu, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.menu0:
- mViewpager.setPageTransformerStyle(TransformerStyle.STACK);
- break;
- case R.id.menu1:
- mViewpager.setPageTransformerStyle(TransformerStyle.ROTATE);
- break;
- case R.id.menu2:
- mViewpager.setPageTransformerStyle(TransformerStyle.DEPTH);
- break;
- case R.id.menu3:
- mViewpager.setPageTransformerStyle(TransformerStyle.ACCORDION);
- break;
- }
- return super.onOptionsItemSelected(item);
- }
-
- private void initViewPager() {
- mViewpager = findViewById(R.id.viewpager);
- mViewpager.setIndicatorVisibility(View.GONE)
- .setCanLoop(false)
- .setAutoPlay(false)
- .setScrollDuration(1000)
- .setHolderCreator(TransformerViewHolder::new)
- .setOnPageClickListener(position -> Toast.makeText(PageTransformerActivity.this,
- "this is item:" + mViewpager.getCurrentItem(), Toast.LENGTH_SHORT).show())
- .create(getData());
- mViewpager.setPageTransformer(new StackTransformer());
- }
-
- private ArrayList getData() {
- ArrayList list = new ArrayList<>();
- for (int i = 0; i <= 2; i++) {
- int drawable = getResources().getIdentifier("guide" + i, "drawable", getPackageName());
- list.add(drawable);
- }
- return list;
- }
-}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/CustomerBannerPageActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java
similarity index 57%
rename from app/src/main/java/com/example/zhpan/circleviewpager/activity/CustomerBannerPageActivity.java
rename to app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java
index 3a85c3f1..553690b4 100644
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/CustomerBannerPageActivity.java
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java
@@ -3,27 +3,34 @@
import androidx.appcompat.app.AppCompatActivity;
+import android.content.Intent;
import android.os.Bundle;
import android.view.View;
-import android.widget.Toast;
import com.example.zhpan.circleviewpager.R;
import com.example.zhpan.circleviewpager.bean.CustomBean;
import com.example.zhpan.circleviewpager.viewholder.CustomPageViewHolder;
import com.zhpan.bannerview.BannerViewPager;
+import com.zhpan.bannerview.constants.IndicatorSlideMode;
+import com.zhpan.bannerview.constants.TransformerStyle;
+import com.zhpan.bannerview.indicator.CircleIndicatorView;
+import com.zhpan.bannerview.indicator.IIndicator;
import java.util.ArrayList;
import java.util.List;
+import java.util.Random;
+
+public class WelcomeActivity extends AppCompatActivity {
-public class CustomerBannerPageActivity extends AppCompatActivity {
private BannerViewPager mViewPager;
private int[] imgRes = {R.drawable.guide0, R.drawable.guide1, R.drawable.guide2};
private String[] des = {"在这里\n你可以听到周围人的心声", "在这里\nTA会在下一秒遇见你", "在这里\n不再错过可以改变你一生的人"};
+ private int[] transforms = {TransformerStyle.NONE, TransformerStyle.ACCORDION, TransformerStyle.STACK, TransformerStyle.DEPTH, TransformerStyle.ROTATE};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_customer_banner);
+ setContentView(R.layout.activity_welcome);
getData();
setupViewPager();
}
@@ -38,17 +45,29 @@ private void setupViewPager() {
mViewPager = findViewById(R.id.viewpager);
mViewPager.setAutoPlay(false)
.setCanLoop(false)
+ .setPageTransformerStyle(transforms[new Random().nextInt(4)])
.setIndicatorVisibility(View.GONE)
- .setOnPageClickListener(position -> Toast.makeText(CustomerBannerPageActivity.this,
- "点击页面" + mViewPager.getCurrentItem(), Toast.LENGTH_SHORT).show())
+ .setIndicatorView(getIndicatorView())
.setHolderCreator(() -> {
CustomPageViewHolder customPageViewHolder = new CustomPageViewHolder();
- customPageViewHolder.setOnSubViewClickListener((view, position) -> Toast.makeText(CustomerBannerPageActivity.this,
- "立即体验" + position, Toast.LENGTH_SHORT).show());
+ customPageViewHolder.setOnSubViewClickListener((view, position) -> {
+ MainActivity.start(WelcomeActivity.this);
+ finish();
+ });
return customPageViewHolder;
}).create(getData());
}
+ private IIndicator getIndicatorView() {
+ CircleIndicatorView indicatorView = findViewById(R.id.indicator);
+ indicatorView.setNormalColor(getResources().getColor(R.color.white));
+ indicatorView.setCheckedColor(getResources().getColor(R.color.white_alpha_75));
+ indicatorView.setIndicatorWidth((int) getResources().getDimension(R.dimen.dp_6),
+ (int) getResources().getDimension(R.dimen.dp_9));
+ indicatorView.setIndicatorGap((int) getResources().getDimension(R.dimen.dp_10));
+ return indicatorView;
+ }
+
private List getData() {
List list = new ArrayList<>();
for (int i = 0; i < imgRes.length; i++) {
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/adapter/AdapterFragmentPager.java b/app/src/main/java/com/example/zhpan/circleviewpager/adapter/AdapterFragmentPager.java
new file mode 100644
index 00000000..30644ad5
--- /dev/null
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/adapter/AdapterFragmentPager.java
@@ -0,0 +1,64 @@
+package com.example.zhpan.circleviewpager.adapter;
+
+import android.util.SparseArray;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+
+
+import com.example.zhpan.circleviewpager.fragment.BaseFragment;
+import com.example.zhpan.circleviewpager.fragment.FindFragment;
+import com.example.zhpan.circleviewpager.fragment.HomeFragment;
+import com.example.zhpan.circleviewpager.fragment.OthersFragment;
+
+import java.util.List;
+
+public class AdapterFragmentPager extends FragmentPagerAdapter {
+
+ public static final int PAGE_HOME = 0;
+
+ public static final int PAGE_FIND = 1;
+
+ public static final int PAGE_OTHERS = 2;
+
+ private SparseArray fragmentList;
+
+ public AdapterFragmentPager(FragmentManager fm) {
+ super(fm);
+ fragmentList = getFragments();
+ }
+
+ private SparseArray getFragments() {
+ SparseArray fragmentList = new SparseArray<>();
+ fragmentList.put(PAGE_HOME, HomeFragment.getInstance());
+ fragmentList.put(PAGE_FIND, FindFragment.getInstance());
+ fragmentList.put(PAGE_OTHERS, OthersFragment.getInstance());
+ return fragmentList;
+ }
+
+ @NonNull
+ @Override
+ public Object instantiateItem(@NonNull ViewGroup container, int position) {
+ Fragment fragment = (Fragment) super.instantiateItem(container, position);
+ fragmentList.put(position, (BaseFragment) fragment);
+ return fragment;
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return fragmentList.get(position);
+ }
+
+ @Override
+ public int getCount() {
+ if (fragmentList != null) {
+ return fragmentList.size();
+ } else {
+ return 0;
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/fragment/BaseFragment.java b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/BaseFragment.java
new file mode 100644
index 00000000..79a276a4
--- /dev/null
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/BaseFragment.java
@@ -0,0 +1,83 @@
+package com.example.zhpan.circleviewpager.fragment;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.trello.rxlifecycle2.components.support.RxFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+
+/**
+ * MVC模式的Base fragment
+ */
+public abstract class BaseFragment extends RxFragment {
+ protected List mDrawableList = new ArrayList<>();
+ protected Context mContext;
+ private Unbinder mBind;
+
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+ this.mContext = context.getApplicationContext();
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = inflater.inflate(getLayout(), container, false);
+ mBind = ButterKnife.bind(this,view);
+ initData();
+ initTitle();
+ initView(savedInstanceState, view);
+ return view;
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ if (mBind != null) {
+ mBind.unbind();
+ }
+ }
+
+ private void initData() {
+ for (int i = 0; i <= 3; i++) {
+ int drawable = getResources().getIdentifier("t" + i, "drawable", mContext.getPackageName());
+ mDrawableList.add(drawable);
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ }
+
+
+ /**
+ * 获取当前Activity的UI布局
+ *
+ * @return 布局id
+ */
+ protected abstract int getLayout();
+
+ /**
+ * 初始化标题
+ */
+ protected abstract void initTitle();
+
+ /**
+ * 初始化数据
+ */
+ protected abstract void initView(Bundle savedInstanceState, View view);
+
+}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/PageStyleActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/FindFragment.java
similarity index 62%
rename from app/src/main/java/com/example/zhpan/circleviewpager/activity/PageStyleActivity.java
rename to app/src/main/java/com/example/zhpan/circleviewpager/fragment/FindFragment.java
index 8567f8b6..8e71b2fc 100644
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/PageStyleActivity.java
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/FindFragment.java
@@ -1,29 +1,56 @@
-package com.example.zhpan.circleviewpager.activity;
+package com.example.zhpan.circleviewpager.fragment;
import android.graphics.Color;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.RadioButton;
import android.widget.RadioGroup;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
import com.example.zhpan.circleviewpager.R;
+import com.example.zhpan.circleviewpager.view.FigureIndicatorView;
import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
import com.zhpan.bannerview.BannerViewPager;
import com.zhpan.bannerview.annotation.APageStyle;
+import com.zhpan.bannerview.constants.IndicatorGravity;
+import com.zhpan.bannerview.constants.IndicatorStyle;
import com.zhpan.bannerview.constants.PageStyle;
import com.zhpan.bannerview.indicator.BaseIndicatorView;
import com.zhpan.bannerview.indicator.CircleIndicatorView;
import com.zhpan.bannerview.utils.DpUtils;
import com.zhpan.idea.utils.ToastUtils;
-public class PageStyleActivity extends BaseDataActivity {
- private BannerViewPager mViewPager;
+import butterknife.BindView;
+
+/**
+ * Created by zhpan on 2018/7/24.
+ */
+public class FindFragment extends BaseFragment {
+ @BindView(R.id.banner_view)
+ BannerViewPager mViewPager;
+ @BindView(R.id.rg_page_style)
+ RadioGroup mRadioGroupPageStyle;
+ @BindView(R.id.indicator_view)
+ CircleIndicatorView indicatorView;
+ @BindView(R.id.rb_multi_page)
+ RadioButton radioButton;
+
+ @Override
+ protected int getLayout() {
+ return R.layout.fragment_find;
+ }
+
+ @Override
+ protected void initTitle() {
+
+ }
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_page_style);
- mViewPager = findViewById(R.id.banner_view);
+ protected void initView(Bundle savedInstanceState, View view) {
mViewPager
.setPageMargin(DpUtils.dp2px(10))
.setRevealWidth(DpUtils.dp2px(10))
@@ -34,6 +61,16 @@ protected void onCreate(Bundle savedInstanceState) {
initRadioGroup();
}
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ return super.onCreateView(inflater, container, savedInstanceState);
+ }
+
+ public static FindFragment getInstance() {
+ return new FindFragment();
+ }
+
private void setupBanner(@APageStyle int pageStyle) {
mViewPager
.setPageStyle(pageStyle)
@@ -41,8 +78,7 @@ private void setupBanner(@APageStyle int pageStyle) {
}
private void initRadioGroup() {
- RadioGroup radioGroupStyle = findViewById(R.id.rg_indicator_style);
- radioGroupStyle.setOnCheckedChangeListener((group, checkedId) -> {
+ mRadioGroupPageStyle.setOnCheckedChangeListener((group, checkedId) -> {
switch (checkedId) {
case R.id.rb_multi_page:
setupBanner(PageStyle.MULTI_PAGE);
@@ -55,7 +91,6 @@ private void initRadioGroup() {
break;
}
});
- RadioButton radioButton = findViewById(R.id.rb_multi_page);
radioButton.performClick();
}
@@ -68,20 +103,19 @@ private void setupOverlapBanner() {
}
private BaseIndicatorView setupIndicatorView() {
- CircleIndicatorView indicatorView = findViewById(R.id.indicator_view);
indicatorView.setCheckedColor(Color.parseColor("#935656"));
indicatorView.setNormalColor(Color.parseColor("#FF4C39"));
return indicatorView;
}
@Override
- protected void onStop() {
+ public void onStop() {
super.onStop();
mViewPager.stopLoop();
}
@Override
- protected void onResume() {
+ public void onResume() {
super.onResume();
mViewPager.startLoop();
}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/NetworkBannerActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/HomeFragment.java
similarity index 77%
rename from app/src/main/java/com/example/zhpan/circleviewpager/activity/NetworkBannerActivity.java
rename to app/src/main/java/com/example/zhpan/circleviewpager/fragment/HomeFragment.java
index 20b41c8f..5531cc91 100644
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/NetworkBannerActivity.java
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/HomeFragment.java
@@ -1,15 +1,15 @@
-package com.example.zhpan.circleviewpager.activity;
+package com.example.zhpan.circleviewpager.fragment;
import android.graphics.Color;
import android.os.Bundle;
-
-import androidx.recyclerview.widget.DividerItemDecoration;
-import androidx.recyclerview.widget.LinearLayoutManager;
-
import android.view.LayoutInflater;
import android.view.View;
+import android.widget.TextView;
import android.widget.Toast;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
import com.example.zhpan.circleviewpager.R;
import com.example.zhpan.circleviewpager.adapter.ArticleAdapter;
import com.example.zhpan.circleviewpager.bean.ArticleWrapper;
@@ -20,7 +20,6 @@
import com.example.zhpan.circleviewpager.viewholder.NetViewHolder;
import com.scwang.smartrefresh.header.MaterialHeader;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
-import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
import com.zhpan.bannerview.BannerViewPager;
import com.zhpan.bannerview.constants.IndicatorGravity;
import com.zhpan.bannerview.utils.DpUtils;
@@ -33,7 +32,10 @@
import io.reactivex.Observable;
import io.reactivex.schedulers.Schedulers;
-public class NetworkBannerActivity extends RxAppCompatActivity {
+/**
+ * Created by zhpan on 2018/7/24.
+ */
+public class HomeFragment extends BaseFragment {
private BannerViewPager mBannerViewPager;
private CustomRecyclerView recyclerView;
@@ -41,29 +43,40 @@ public class NetworkBannerActivity extends RxAppCompatActivity {
private SmartRefreshLayout mSmartRefreshLayout;
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_network_banner);
- setTitle(R.string.load_data);
- initRefreshLayout();
- initRecyclerView();
+ protected int getLayout() {
+ return R.layout.fragment_home;
+ }
+
+ @Override
+ protected void initTitle() {
+
+ }
+
+ @Override
+ protected void initView(Bundle savedInstanceState, View view) {
+ initRecyclerView(view);
+ initRefreshLayout(view);
initBanner();
fetchData(true);
}
- private void initRecyclerView() {
- recyclerView = findViewById(R.id.recycler_view);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
+ public static HomeFragment getInstance() {
+ return new HomeFragment();
+ }
+
+ private void initRecyclerView(View view) {
+ recyclerView = view.findViewById(R.id.recycler_view);
+ recyclerView.setLayoutManager(new LinearLayoutManager(mContext));
recyclerView.addHeadView(getHeaderView());
- recyclerView.addItemDecoration(new DividerItemDecoration(NetworkBannerActivity.this,
+ recyclerView.addItemDecoration(new DividerItemDecoration(mContext,
DividerItemDecoration.VERTICAL));
- articleAdapter = new ArticleAdapter(this, new ArrayList<>());
+ articleAdapter = new ArticleAdapter(mContext, new ArrayList<>());
recyclerView.setAdapter(articleAdapter);
}
- private void initRefreshLayout() {
- mSmartRefreshLayout = findViewById(R.id.refresh_layout);
- mSmartRefreshLayout.setRefreshHeader(new MaterialHeader(this));
+ private void initRefreshLayout(View view) {
+ mSmartRefreshLayout = view.findViewById(R.id.refresh_layout);
+ mSmartRefreshLayout.setRefreshHeader(new MaterialHeader(mContext));
mSmartRefreshLayout.setOnRefreshListener(refreshLayout -> fetchData(false));
}
@@ -108,29 +121,27 @@ private void initBanner() {
.setScrollDuration(1000).setHolderCreator(NetViewHolder::new)
.setOnPageClickListener(position -> {
BannerData bannerData = mBannerViewPager.getList().get(position);
- Toast.makeText(NetworkBannerActivity.this,
+ Toast.makeText(mContext,
"点击了position:" + position + " " + bannerData.getDesc(), Toast.LENGTH_SHORT).show();
});
}
private View getHeaderView() {
- View view = LayoutInflater.from(this).inflate(R.layout.item_header_view, recyclerView, false);
+ View view = LayoutInflater.from(mContext).inflate(R.layout.item_header_view, recyclerView, false);
mBannerViewPager = view.findViewById(R.id.banner_view);
return view;
}
@Override
- protected void onStop() {
+ public void onStop() {
+ mBannerViewPager.stopLoop();
super.onStop();
- if (mBannerViewPager != null)
- mBannerViewPager.stopLoop();
}
@Override
- protected void onResume() {
+ public void onResume() {
+ mBannerViewPager.startLoop();
super.onResume();
- if (mBannerViewPager != null)
- mBannerViewPager.startLoop();
}
}
diff --git a/app/src/main/java/com/example/zhpan/circleviewpager/activity/IndicatorStyleActivity.java b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/OthersFragment.java
similarity index 77%
rename from app/src/main/java/com/example/zhpan/circleviewpager/activity/IndicatorStyleActivity.java
rename to app/src/main/java/com/example/zhpan/circleviewpager/fragment/OthersFragment.java
index 85e1f496..d703c65d 100644
--- a/app/src/main/java/com/example/zhpan/circleviewpager/activity/IndicatorStyleActivity.java
+++ b/app/src/main/java/com/example/zhpan/circleviewpager/fragment/OthersFragment.java
@@ -1,6 +1,6 @@
-package com.example.zhpan.circleviewpager.activity;
-
+package com.example.zhpan.circleviewpager.fragment;
+import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
@@ -8,6 +8,7 @@
import android.widget.RadioGroup;
import com.example.zhpan.circleviewpager.R;
+import com.example.zhpan.circleviewpager.activity.PhotoViewActivity;
import com.example.zhpan.circleviewpager.view.FigureIndicatorView;
import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
import com.zhpan.bannerview.BannerViewPager;
@@ -16,23 +17,42 @@
import com.zhpan.bannerview.utils.DpUtils;
import com.zhpan.idea.utils.ToastUtils;
-public class IndicatorStyleActivity extends BaseDataActivity {
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by zhpan on 2018/7/24.
+ */
+public class OthersFragment extends BaseFragment {
+ @BindView(R.id.banner_view)
+ BannerViewPager mViewPager;
+ @BindView(R.id.rg_indicator_style)
+ RadioGroup radioGroupStyle;
+ @BindView(R.id.rb_circle)
+ RadioButton radioButton;
+
+ @Override
+ protected int getLayout() {
+ return R.layout.fragment_others;
+ }
+
+ @Override
+ protected void initTitle() {
- private BannerViewPager mViewPager;
+ }
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_indicator_slide_mode);
- setTitle(getString(R.string.indicator_style));
- mViewPager = findViewById(R.id.banner_view_dash);
+ protected void initView(Bundle savedInstanceState, View view) {
mViewPager.setIndicatorGap(DpUtils.dp2px(6))
.setHolderCreator(() -> new ImageResourceViewHolder(0));
initRadioGroup();
}
+ public static OthersFragment getInstance() {
+ return new OthersFragment();
+ }
+
private void initRadioGroup() {
- RadioGroup radioGroupStyle = findViewById(R.id.rg_indicator_style);
radioGroupStyle.setVisibility(View.VISIBLE);
radioGroupStyle.setVisibility(View.VISIBLE);
radioGroupStyle.setOnCheckedChangeListener((group, checkedId) -> {
@@ -50,7 +70,6 @@ private void initRadioGroup() {
break;
}
});
- RadioButton radioButton = findViewById(R.id.rb_circle);
radioButton.performClick();
}
@@ -77,7 +96,6 @@ private void setupDashIndicator() {
}
private void setupCustomIndicator() {
- mViewPager = findViewById(R.id.banner_view_dash);
mViewPager.setAutoPlay(false).setCanLoop(true)
.setPageMargin(DpUtils.dp2px(20))
.setIndicatorMargin(0, 0, DpUtils.dp2px(10), DpUtils.dp2px(10))
@@ -90,16 +108,21 @@ private void setupCustomIndicator() {
* 这里可以是自定义的Indicator,需要继承BaseIndicatorView或者实现IIndicator接口;
*/
private FigureIndicatorView setupIndicatorView() {
- FigureIndicatorView indicatorView = new FigureIndicatorView(this);
+ FigureIndicatorView indicatorView = new FigureIndicatorView(mContext);
indicatorView.setRadius(DpUtils.dp2px(18));
indicatorView.setTextSize(DpUtils.dp2px(13));
indicatorView.setBackgroundColor(Color.parseColor("#aa118EEA"));
return indicatorView;
}
+ @OnClick(R.id.tv_photo_view)
+ public void onClick(View view) {
+ startActivity(new Intent(getActivity(), PhotoViewActivity.class));
+ }
+
@Override
- protected void onDestroy() {
- super.onDestroy();
+ public void onDestroy() {
mViewPager.stopLoop();
+ super.onDestroy();
}
}
diff --git a/app/src/main/res/drawable-xhdpi/creative_hover.png b/app/src/main/res/drawable-xhdpi/creative_hover.png
new file mode 100644
index 00000000..3a0f25fe
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/creative_hover.png differ
diff --git a/app/src/main/res/drawable-xhdpi/creative_none.png b/app/src/main/res/drawable-xhdpi/creative_none.png
new file mode 100644
index 00000000..7dcc6568
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/creative_none.png differ
diff --git a/app/src/main/res/drawable-xhdpi/discover_hover.png b/app/src/main/res/drawable-xhdpi/discover_hover.png
new file mode 100644
index 00000000..bcbba5ac
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/discover_hover.png differ
diff --git a/app/src/main/res/drawable-xhdpi/discover_none.png b/app/src/main/res/drawable-xhdpi/discover_none.png
new file mode 100644
index 00000000..7e086b52
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/discover_none.png differ
diff --git a/app/src/main/res/drawable-xhdpi/home_hover.png b/app/src/main/res/drawable-xhdpi/home_hover.png
new file mode 100644
index 00000000..86219107
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/home_hover.png differ
diff --git a/app/src/main/res/drawable-xhdpi/home_none.png b/app/src/main/res/drawable-xhdpi/home_none.png
new file mode 100644
index 00000000..e145c154
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/home_none.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/guide0.jpg b/app/src/main/res/drawable-xxhdpi/guide0.jpg
index 88020ef7..e85a58a4 100644
Binary files a/app/src/main/res/drawable-xxhdpi/guide0.jpg and b/app/src/main/res/drawable-xxhdpi/guide0.jpg differ
diff --git a/app/src/main/res/drawable-xxhdpi/guide1.jpg b/app/src/main/res/drawable-xxhdpi/guide1.jpg
index fe8a3b0d..8802c79d 100644
Binary files a/app/src/main/res/drawable-xxhdpi/guide1.jpg and b/app/src/main/res/drawable-xxhdpi/guide1.jpg differ
diff --git a/app/src/main/res/drawable-xxhdpi/guide2.jpg b/app/src/main/res/drawable-xxhdpi/guide2.jpg
index 25f9ffc2..53e6302d 100644
Binary files a/app/src/main/res/drawable-xxhdpi/guide2.jpg and b/app/src/main/res/drawable-xxhdpi/guide2.jpg differ
diff --git a/app/src/main/res/drawable/tab1_selector.xml b/app/src/main/res/drawable/tab1_selector.xml
new file mode 100644
index 00000000..5a8640f1
--- /dev/null
+++ b/app/src/main/res/drawable/tab1_selector.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/tab2_selector.xml b/app/src/main/res/drawable/tab2_selector.xml
new file mode 100644
index 00000000..8f9f8129
--- /dev/null
+++ b/app/src/main/res/drawable/tab2_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/tab3_selector.xml b/app/src/main/res/drawable/tab3_selector.xml
new file mode 100644
index 00000000..f7ec448c
--- /dev/null
+++ b/app/src/main/res/drawable/tab3_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/text_color_selector.xml b/app/src/main/res/drawable/text_color_selector.xml
new file mode 100644
index 00000000..ed1bb7cd
--- /dev/null
+++ b/app/src/main/res/drawable/text_color_selector.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_customer_banner.xml b/app/src/main/res/layout/activity_customer_banner.xml
deleted file mode 100644
index a481b9c3..00000000
--- a/app/src/main/res/layout/activity_customer_banner.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_indicator_slide_mode.xml b/app/src/main/res/layout/activity_indicator_slide_mode.xml
index e7d27ef2..e6c52801 100644
--- a/app/src/main/res/layout/activity_indicator_slide_mode.xml
+++ b/app/src/main/res/layout/activity_indicator_slide_mode.xml
@@ -4,8 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context=".activity.IndicatorStyleActivity">
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ –>
-
+-->
diff --git a/app/src/main/res/layout/activity_page_style.xml b/app/src/main/res/layout/activity_page_style.xml
index 7f8d70ea..3034f9fc 100644
--- a/app/src/main/res/layout/activity_page_style.xml
+++ b/app/src/main/res/layout/activity_page_style.xml
@@ -3,8 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".activity.PageStyleActivity">
+ android:layout_height="match_parent">
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml
new file mode 100644
index 00000000..61f2a98e
--- /dev/null
+++ b/app/src/main/res/layout/activity_welcome.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_find.xml b/app/src/main/res/layout/fragment_find.xml
new file mode 100644
index 00000000..a17f4ddc
--- /dev/null
+++ b/app/src/main/res/layout/fragment_find.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_network_banner.xml b/app/src/main/res/layout/fragment_home.xml
similarity index 71%
rename from app/src/main/res/layout/activity_network_banner.xml
rename to app/src/main/res/layout/fragment_home.xml
index f6c2a094..b0c13524 100644
--- a/app/src/main/res/layout/activity_network_banner.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -1,20 +1,18 @@
+ android:orientation="vertical">
+ android:layout_height="match_parent"
+ android:overScrollMode="never">
-
\ No newline at end of file
+
diff --git a/app/src/main/res/layout/fragment_others.xml b/app/src/main/res/layout/fragment_others.xml
new file mode 100644
index 00000000..0a36451a
--- /dev/null
+++ b/app/src/main/res/layout/fragment_others.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_custom_view.xml b/app/src/main/res/layout/item_custom_view.xml
index 0fa49a71..0ba895c1 100644
--- a/app/src/main/res/layout/item_custom_view.xml
+++ b/app/src/main/res/layout/item_custom_view.xml
@@ -3,6 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_header_view.xml b/app/src/main/res/layout/item_header_view.xml
index afc49db7..dc49a835 100644
--- a/app/src/main/res/layout/item_header_view.xml
+++ b/app/src/main/res/layout/item_header_view.xml
@@ -1,13 +1,12 @@
+ android:layout_height="wrap_content">
+ android:layout_height="180dp" />
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 026129ad..a1867bd9 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,4 +7,11 @@
#FF5252
#88FF5252
+ #FFFFFF
+ #BFFFFFFF
+
+
+ #000000
+ #000000
+ #DCDCDC
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5a44233c..b73b05cc 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,4 +13,10 @@
SMOOTH
自定义IndicatorView
一屏多页
+
+ 首页
+ 发现
+ 其它
+ Page Style:
+ Indicator Style:
diff --git a/bannerview/src/main/res/values/dimens.xml b/bannerview/src/main/res/values/dimens.xml
new file mode 100755
index 00000000..53c7c21f
--- /dev/null
+++ b/bannerview/src/main/res/values/dimens.xml
@@ -0,0 +1,453 @@
+
+
+ -130dp
+ -110dp
+ -100dp
+ -90dp
+ -80dp
+ -70dp
+ -60dp
+ -50dp
+ -40dp
+ -35dp
+ -30dp
+ -20dp
+ -19dp
+ -18dp
+ -17dp
+ -16dp
+ -15dp
+ -14dp
+ -13dp
+ -12dp
+ -11dp
+ -10dp
+ -9dp
+ -8dp
+ -7dp
+ -6dp
+ -5dp
+ -4dp
+ -3dp
+ -2dp
+ -1dp
+ 0dp
+ 0.1dp
+ 0.5dp
+ 1dp
+ 1.5dp
+ 2dp
+ 2.5dp
+ 3dp
+ 4dp
+ 4.50dp
+ 5dp
+ 6dp
+ 7dp
+ 7.5dp
+ 8dp
+ 9dp
+ 10dp
+ 11dp
+ 12dp
+ 13dp
+ 14dp
+ 15dp
+ 16dp
+ 17dp
+ 18dp
+ 19dp
+ 20dp
+ 21dp
+ 22dp
+ 23dp
+ 24dp
+ 25dp
+ 26dp
+ 27dp
+ 28dp
+ 29dp
+ 30dp
+ 31dp
+ 32dp
+ 33dp
+ 34dp
+ 35dp
+ 36dp
+ 37dp
+ 38dp
+ 39dp
+ 40dp
+ 41dp
+ 42dp
+ 43dp
+ 44dp
+ 45dp
+ 46dp
+ 47dp
+ 48dp
+ 49dp
+ 50dp
+ 51dp
+ 52dp
+ 53dp
+ 54dp
+ 55dp
+ 56dp
+ 57dp
+ 58dp
+ 59dp
+ 60dp
+ 61dp
+ 62dp
+ 63dp
+ 64dp
+ 65dp
+ 66dp
+ 67dp
+ 68dp
+ 69dp
+ 70dp
+ 71dp
+ 72dp
+ 73dp
+ 74dp
+ 75dp
+ 76dp
+ 77dp
+ 78dp
+ 79dp
+ 80dp
+ 81dp
+ 82dp
+ 83dp
+ 84dp
+ 85dp
+ 86dp
+ 87dp
+ 88dp
+ 89dp
+ 90dp
+ 91dp
+ 92dp
+ 93dp
+ 94dp
+ 95dp
+ 96dp
+ 97dp
+ 98dp
+ 99dp
+ 100dp
+ 101dp
+ 102dp
+ 103dp
+ 104dp
+ 104.5dp
+ 105dp
+ 106dp
+ 107dp
+ 108dp
+ 109dp
+ 110dp
+ 111dp
+ 112dp
+ 113dp
+ 114dp
+ 115dp
+ 116dp
+ 117dp
+ 118dp
+ 119dp
+ 120dp
+ 121dp
+ 122dp
+ 123dp
+ 124dp
+ 125dp
+ 126dp
+ 127dp
+ 128dp
+ 129dp
+ 130dp
+ 131dp
+ 132dp
+ 133dp
+ 134dp
+ 134.5dp
+ 135dp
+ 136dp
+ 137dp
+ 138dp
+ 139dp
+ 140dp
+ 141dp
+ 142dp
+ 143dp
+ 144dp
+ 145dp
+ 146dp
+ 147dp
+ 148dp
+ 149dp
+ 150dp
+ 151dp
+ 152dp
+ 153dp
+ 154dp
+ 155dp
+ 156dp
+ 157dp
+ 158dp
+ 159dp
+ 160dp
+ 161dp
+ 162dp
+ 163dp
+ 164dp
+ 165dp
+ 166dp
+ 167dp
+ 168dp
+ 169dp
+ 170dp
+ 171dp
+ 172dp
+ 173dp
+ 174dp
+ 175dp
+ 176dp
+ 177dp
+ 178dp
+ 179dp
+ 180dp
+ 181dp
+ 182dp
+ 183dp
+ 184dp
+ 185dp
+ 186dp
+ 187dp
+ 188dp
+ 189dp
+ 190dp
+ 191dp
+ 192dp
+ 193dp
+ 194dp
+ 195dp
+ 196dp
+ 197dp
+ 198dp
+ 199dp
+ 200dp
+ 201dp
+ 202dp
+ 203dp
+ 204dp
+ 205dp
+ 206dp
+ 207dp
+ 208dp
+ 209dp
+ 210dp
+ 211dp
+ 212dp
+ 213dp
+ 214dp
+ 215dp
+ 216dp
+ 217dp
+ 218dp
+ 219dp
+ 220dp
+ 221dp
+ 222dp
+ 223dp
+ 224dp
+ 225dp
+ 226dp
+ 227dp
+ 228dp
+ 229dp
+ 230dp
+ 231dp
+ 232dp
+ 233dp
+ 234dp
+ 235dp
+ 236dp
+ 237dp
+ 238dp
+ 239dp
+ 240dp
+ 241dp
+ 242dp
+ 243dp
+ 244dp
+ 245dp
+ 246dp
+ 247dp
+ 248dp
+ 249dp
+ 250dp
+ 251dp
+ 252dp
+ 253dp
+ 254dp
+ 255dp
+ 256dp
+ 257dp
+ 258dp
+ 259dp
+ 260dp
+ 261dp
+ 262dp
+ 263dp
+ 264dp
+ 265dp
+ 266dp
+ 267dp
+ 268dp
+ 269dp
+ 270dp
+ 271dp
+ 272dp
+ 273dp
+ 274dp
+ 275dp
+ 276dp
+ 277dp
+ 278dp
+ 279dp
+ 280dp
+ 281dp
+ 282dp
+ 283dp
+ 284dp
+ 285dp
+ 286dp
+ 287dp
+ 289dp
+ 290dp
+ 291dp
+ 292dp
+ 293dp
+ 294dp
+ 295dp
+ 296dp
+ 297dp
+ 298dp
+ 299dp
+ 300dp
+ 301dp
+ 302dp
+ 303dp
+ 304dp
+ 305dp
+ 306dp
+ 307dp
+ 308dp
+ 309dp
+ 310dp
+ 311dp
+ 312dp
+ 313dp
+ 314dp
+ 315dp
+ 316dp
+ 317dp
+ 318dp
+ 319dp
+ 320dp
+ 321dp
+ 322dp
+ 323dp
+ 324dp
+ 325dp
+ 326dp
+ 327dp
+ 328dp
+ 329dp
+ 330dp
+ 331dp
+ 332dp
+ 333dp
+ 334dp
+ 335dp
+ 336dp
+ 337dp
+ 338dp
+ 339dp
+ 340dp
+ 341dp
+ 342dp
+ 343dp
+ 344dp
+ 345dp
+ 346dp
+ 347dp
+ 348dp
+ 349dp
+ 350dp
+ 351dp
+ 352dp
+ 353dp
+ 354dp
+ 355dp
+ 356dp
+ 357dp
+ 358dp
+ 359dp
+ 360dp
+ 365dp
+ 370dp
+ 375dp
+ 380dp
+ 385dp
+ 390dp
+ 395dp
+ 400dp
+ 410dp
+ 422dp
+ 472dp
+ 500dp
+ 600dp
+ 640dp
+ 720dp
+
+
+ 6sp
+ 7sp
+ 8sp
+ 9sp
+ 10sp
+ 11sp
+ 12sp
+ 13sp
+ 14sp
+ 15sp
+ 16sp
+ 17sp
+ 18sp
+ 19sp
+ 20sp
+ 21sp
+ 22sp
+ 23sp
+ 24sp
+ 25sp
+ 26sp
+ 27sp
+ 28sp
+ 30sp
+ 31sp
+ 32sp
+ 33sp
+ 34sp
+ 35sp
+ 36sp
+ 38sp
+ 40sp
+ 42sp
+ 48sp
+
diff --git a/download/app.apk b/download/app.apk
index 30cef227..63d77664 100644
Binary files a/download/app.apk and b/download/app.apk differ
diff --git a/ideahttp/src/main/java/com/zhpan/idea/utils/RxUtil.java b/ideahttp/src/main/java/com/zhpan/idea/utils/RxUtil.java
index 7e9691f3..d5a5758d 100644
--- a/ideahttp/src/main/java/com/zhpan/idea/utils/RxUtil.java
+++ b/ideahttp/src/main/java/com/zhpan/idea/utils/RxUtil.java
@@ -42,14 +42,18 @@ public ObservableSource apply(Observable observable) {
* @param
* @return
*/
- public static ObservableTransformer rxSchedulerHelper(final RxFragment fragment) { //compose简化线程
+ public static ObservableTransformer rxSchedulerHelper(final RxFragment fragment, final boolean showLoading) {
return new ObservableTransformer() {
@Override
public ObservableSource apply(Observable observable) {
- return observable.subscribeOn(Schedulers.io())
+ Observable compose = observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(ProgressUtils.applyProgressBar(fragment.getActivity()))
- .compose(fragment.bindUntilEvent(FragmentEvent.DESTROY_VIEW));
+ .compose(fragment.bindUntilEvent(FragmentEvent.DESTROY));
+ if (showLoading) {
+ return compose.compose(ProgressUtils.applyProgressBar(fragment.getActivity()));
+ } else {
+ return compose;
+ }
}
};
}