依赖
/////Gson依赖
implementation 'com.google.code.gson:gson:2.8.2'
//Imageloader依赖
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
//自己写的Xlistview依赖
implementation project(':xlistviewlibrary')
//TabLayout依赖
implementation 'com.android.support:design:28+'
//PullToRefreshListView依赖
implementation 'com.github.userswlwork:pull-to-refresh:1.0.0'
//频道管理依赖
implementation 'com.github.andyoom:draggrid:v1.0.1'
//轮播图banner依赖
implementation 'com.youth.banner:banner:1.4.9'
///
maven {url "https://jitpack.io"}
权限
判断是否有网
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
网络权限
<uses-permission android:name="android.permission.INTERNET"/>
读写权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
快捷键
整理代码 alt+ctrl+L
补全代码 alt+ctrl+V
提成全局变量 alt+ctrl+F
代码提示 alt+ctrl+空格
去除没用的包 alt+ctrl+O
//轮播图
radioGroup和viewPager
//轮播图
private void lbuData() {
// TODO Auto-generated method stub
int arr[] = {R.drawable.banner01,R.drawable.banner02,R.drawable.banner03,R.drawable.ic_launcher};
final ArrayList<ImageView> list = new ArrayList<ImageView>();
//添加图片和小圆点
for (int i = 0; i < arr.length; i++) {
ImageView imageView = new ImageView(LoginActivity.this);
imageView.setImageResource(arr[i]);
list.add(imageView);
RadioButton button = new RadioButton(LoginActivity.this);
radioGroup.addView(button);
}
//第一个默认选中
radioGroup.check(radioGroup.getChildAt(0).getId());
//适配器
pager.setAdapter(new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
position = position%list.size();
ImageView imageView = list.get(position);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
container.removeView((View) object);
}
});
//滑动选中
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
arg0 = arg0%list.size();
radioGroup.check(radioGroup.getChildAt(arg0).getId());
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
handler.sendEmptyMessageDelayed(1, 3000);
}
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
int currentItem = pager.getCurrentItem();
currentItem+=1;
pager.setCurrentItem(currentItem);
handler.sendEmptyMessageDelayed(1, 3000);
break;
default:
break;
}
};
};