/
HomeActivity.java
103 lines (83 loc) · 3.19 KB
/
HomeActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package com.rd.pageindicatorview.home;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.rd.PageIndicatorView;
import com.rd.pageindicatorview.base.BaseActivity;
import com.rd.pageindicatorview.customize.CustomizeActivity;
import com.rd.pageindicatorview.data.Customization;
import com.rd.pageindicatorview.sample.R;
import java.util.ArrayList;
import java.util.List;
public class HomeActivity extends BaseActivity {
private PageIndicatorView pageIndicatorView;
private Customization customization;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_home);
customization = new Customization();
initToolbar();
initViews();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
boolean customization = requestCode == CustomizeActivity.EXTRAS_CUSTOMIZATION_REQUEST_CODE && resultCode == RESULT_OK;
if (customization && intent != null) {
this.customization = intent.getParcelableExtra(CustomizeActivity.EXTRAS_CUSTOMIZATION);
updateIndicator();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_customize, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.actionCustomize:
CustomizeActivity.start(this, customization);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@SuppressWarnings("ConstantConditions")
private void initViews() {
HomeAdapter adapter = new HomeAdapter();
adapter.setData(createPageList());
final ViewPager pager = findViewById(R.id.viewPager);
pager.setAdapter(adapter);
pageIndicatorView = findViewById(R.id.pageIndicatorView);
}
@NonNull
private List<View> createPageList() {
List<View> pageList = new ArrayList<>();
pageList.add(createPageView(R.color.google_red));
pageList.add(createPageView(R.color.google_blue));
pageList.add(createPageView(R.color.google_yellow));
pageList.add(createPageView(R.color.google_green));
return pageList;
}
@NonNull
private View createPageView(int color) {
View view = new View(this);
view.setBackgroundColor(getResources().getColor(color));
return view;
}
private void updateIndicator() {
if (customization == null) {
return;
}
pageIndicatorView.setAnimationType(customization.getAnimationType());
pageIndicatorView.setOrientation(customization.getOrientation());
pageIndicatorView.setRtlMode(customization.getRtlMode());
pageIndicatorView.setInteractiveAnimation(customization.isInteractiveAnimation());
pageIndicatorView.setAutoVisibility(customization.isAutoVisibility());
}
}