大神JakeWharton在Github里面写了一个Molde可以提供大家下载学习,直接打Viewpager,选择星星最多的就是JakeWharton写的,我们只需要下载下来导入自己的项目中就可以了。
我说明下如何导入:
然后导入sampe的包:
会导入两个包一个sampe的包一个library两个包,我们需要把包里面的版本号都需要改成你当前下载好个自己改下以了
然后就可以实现大神定义好的各种样式了 我们可以先运行下大神写的,然后我们再找自己想要的那个
我给大家展示一个我自己的写好的,图片可能有点着急了,谅解下:
MainActivity中的代码
package com.qiangshijituan.jacewharton_viewpagerindicator;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.viewpagerindicator.CirclePageIndicator;
public class MainActivity extends AppCompatActivity {
private int[] imgs = {R.mipmap.bg_guide_one,R.mipmap.bg_guide_two,R.mipmap.bg_guide_three};
private ImageView[] imageViews = new ImageView[imgs.length];
private ImageView iView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
CirclePageIndicator indicator = (CirclePageIndicator) findViewById(R.id.indicator);
initDate();
MyAdapter adapter = new MyAdapter();
viewPager.setAdapter(adapter);
indicator.setViewPager(viewPager);
}
private void initDate() {
for (int i = 0 ; i<imgs.length ; i++){
iView = new ImageView(this);
iView.setLayoutParams(new ViewPager.LayoutParams());
iView.setImageResource(imgs[i]);
imageViews[i]=iView;
}
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return imageViews.length;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
((ViewGroup)container).addView(imageViews[position%(imageViews.length)]);
return imageViews[position%imageViews.length];
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewGroup)container).removeView(imageViews[position%imageViews.length]);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}
Xml中的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:padding="10dip"
app:fillColor="#FF888888"
app:pageColor="#88FF0000"
app:radius="10dp"
app:strokeColor="#FF000000"
app:strokeWidth="2dp" />
</RelativeLayout>
系统会报一个错误 我们需要把它删除掉Float这个单词