-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathMainActivity.java
executable file
·188 lines (164 loc) · 7.67 KB
/
MainActivity.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package com.bigkoo.convenientbannerdemo;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;
import com.bigkoo.convenientbanner.holder.CBViewHolderCreator;
import com.bigkoo.convenientbanner.ConvenientBanner;
import com.bigkoo.convenientbanner.listener.OnItemClickListener;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
/**
* Created by Sai on 15/7/30.
* convenientbanner 控件 的 demo
*/
public class MainActivity extends AppCompatActivity implements OnItemClickListener {
private ConvenientBanner convenientBanner;//顶部广告栏控件
private ArrayList<Integer> localImages = new ArrayList<Integer>();
private List<String> networkImages;
private String[] images = {"http://img2.imgtn.bdimg.com/it/u=3093785514,1341050958&fm=21&gp=0.jpg",
"http://img2.3lian.com/2014/f2/37/d/40.jpg",
"http://d.3987.com/sqmy_131219/001.jpg",
"http://img2.3lian.com/2014/f2/37/d/39.jpg",
"http://www.8kmm.com/UploadFiles/2012/8/201208140920132659.jpg",
"http://f.hiphotos.baidu.com/image/h%3D200/sign=1478eb74d5a20cf45990f9df460b4b0c/d058ccbf6c81800a5422e5fdb43533fa838b4779.jpg",
"http://f.hiphotos.baidu.com/image/pic/item/09fa513d269759ee50f1971ab6fb43166c22dfba.jpg"
};
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
init();
}
private void initViews() {
convenientBanner = (ConvenientBanner) findViewById(R.id.convenientBanner);
}
private void init(){
// initImageLoader();
loadTestDatas();
//本地图片例子
convenientBanner.setPages(
new CBViewHolderCreator() {
@Override
public LocalImageHolderView createHolder(View itemView) {
return new LocalImageHolderView(itemView);
}
@Override
public int getLayoutId() {
return R.layout.item_localimage;
}
}, localImages)
//设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设
// .setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused})
.setOnItemClickListener(this);
//设置指示器的方向
// .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)
// .setOnPageChangeListener(this)//监听翻页事件
;
// convenientBanner.setManualPageable(false);//设置不能手动影响
//网络加载例子
// networkImages=Arrays.asList(images);
// convenientBanner.setPages(new CBViewHolderCreator<NetworkImageHolderView>() {
// @Override
// public NetworkImageHolderView createHolder() {
// return new NetworkImageHolderView();
// }
// },networkImages);
//手动New并且添加到ListView Header的例子
// ConvenientBanner mConvenientBanner = new ConvenientBanner(this,false);
// mConvenientBanner.setMinimumHeight(500);
// mConvenientBanner.setPages(
// new CBViewHolderCreator<LocalImageHolderView>() {
// @Override
// public LocalImageHolderView createHolder() {
// return new LocalImageHolderView();
// }
// }, localImages)
// //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设
// .setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused})
// //设置指示器的方向
// .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)
// .setOnItemClickListener(this);
// listView.addHeaderView(mConvenientBanner);
}
// //初始化网络图片缓存库
// private void initImageLoader(){
// //网络图片例子,结合常用的图片缓存库UIL,你可以根据自己需求自己换其他网络图片库
// DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().
// showImageForEmptyUri(R.drawable.ic_default_adimage)
// .cacheInMemory(true).cacheOnDisk(true).build();
//
// ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
// getApplicationContext()).defaultDisplayImageOptions(defaultOptions)
// .threadPriority(Thread.NORM_PRIORITY - 2)
// .denyCacheImageMultipleSizesInMemory()
// .diskCacheFileNameGenerator(new Md5FileNameGenerator())
// .tasksProcessingOrder(QueueProcessingType.LIFO).build();
// ImageLoader.getInstance().init(config);
// }
/*
加入测试Views
* */
private void loadTestDatas() {
//本地图片集合
for (int position = 0; position < 7; position++)
localImages.add(getResId("ic_test_" + position, R.drawable.class));
//// //各种翻页效果
// transformerList.add(DefaultTransformer.class.getSimpleName());
// transformerList.add(AccordionTransformer.class.getSimpleName());
// transformerList.add(BackgroundToForegroundTransformer.class.getSimpleName());
// transformerList.add(CubeInTransformer.class.getSimpleName());
// transformerList.add(CubeOutTransformer.class.getSimpleName());
// transformerList.add(DepthPageTransformer.class.getSimpleName());
// transformerList.add(FlipHorizontalTransformer.class.getSimpleName());
// transformerList.add(FlipVerticalTransformer.class.getSimpleName());
// transformerList.add(ForegroundToBackgroundTransformer.class.getSimpleName());
// transformerList.add(RotateDownTransformer.class.getSimpleName());
// transformerList.add(RotateUpTransformer.class.getSimpleName());
// transformerList.add(StackTransformer.class.getSimpleName());
// transformerList.add(ZoomInTransformer.class.getSimpleName());
// transformerList.add(ZoomOutTranformer.class.getSimpleName());
// transformerArrayAdapter.notifyDataSetChanged();
}
/**
* 通过文件名获取资源id 例子:getResId("icon", R.drawable.class);
*
* @param variableName
* @param c
* @return
*/
public static int getResId(String variableName, Class<?> c) {
try {
Field idField = c.getDeclaredField(variableName);
return idField.getInt(idField);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
// 开始自动翻页
@Override
protected void onResume() {
super.onResume();
// //开始自动翻页
convenientBanner.startTurning();
}
// 停止自动翻页
@Override
protected void onPause() {
super.onPause();
// //停止翻页
convenientBanner.stopTurning();
}
@Override
public void onItemClick(int position) {
Toast.makeText(this,"点击了第"+position+"个",Toast.LENGTH_SHORT).show();
startActivity(new Intent(this, HeaderActivity.class));
// convenientBanner.setCanLoop(!convenientBanner.isCanLoop());
}
}