Vous devez d'abord importer cette bibliothèque impressionnante https://github.com/JakeWharton/ViewPagerIndicator
Les prochaines étapes sont très simples je vous donne mon propre code de travail
il vous suffit de copier coller et remplacer selon toi.
Première copie cette classe POJO
public class Banner {
private String str_id;
private String str_photo;
Banner() {
}
public Banner(String str_id, String str_photo) {
this.str_id = str_id;
this.str_photo = str_photo;
}
public String getStr_id() {
return str_id;
}
public void setStr_id(String str_id) {
this.str_id = str_id;
}
public String getStr_photo() {
return str_photo;
}
public void setStr_photo(String str_photo) {
this.str_photo = str_photo;
}
}
maintenant cet adaptateur:
public class SlidingImage_Adapter extends PagerAdapter {
private List<Banner> IMAGES = new ArrayList<Banner>();
private LayoutInflater inflater;
private Context context;
private Typeface typefaceReguler, typefaceLight, typefaceItalic;
public SlidingImage_Adapter(Context context, List<Banner> IMAGES) {
this.context = context;
this.IMAGES = IMAGES;
inflater = LayoutInflater.from(context);
System.out.println("----imagesssss----- "+IMAGES);
/* typefaceReguler = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Regular_0.ttf");
typefaceLight = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Light_0.ttf");
typefaceItalic = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Italic_0.ttf");*/
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public int getCount() {
return IMAGES.size();
}
@Override
public Object instantiateItem(ViewGroup view, int position) {
View imageLayout = inflater.inflate(R.layout.slidingimages_layout, view, false);
Banner banner = IMAGES.get(position);
assert imageLayout != null;
final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
final ImageView img_browse = (ImageView) imageLayout.findViewById(R.id.imageView_Browse);
final TextView textView = (TextView) imageLayout.findViewById(R.id.textView_collectiontitle);
// textView.setTypeface(typefaceReguler);
// textView.setTextSize(AppController.textSize(context, 30));
// textView.setTextColor(ContextCompat.getColor(context, R.color.white));
// int width = imageView.getLayoutParams().width = AppController.screenWidth(context)/1;
// int height = imageView.getLayoutParams().height = AppController.screenHeight(context)/3;
img_browse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Browse Collection", Toast.LENGTH_SHORT).show();
}
});
if (position == 0) {
textView.setText("woodland original");
}
if (position == 1) {
textView.setText("nike original");
}
if (position == 2) {
textView.setText("rebook original");
}
if (position == 3) {
textView.setText("adidas original");
}
if (!banner.getStr_photo().isEmpty())
{
System.out.println("---Working---- "+banner.getStr_photo());
Picasso.with(context)
.load("Your image here")
.placeholder(R.drawable.banner_shoe) // optional
.error(R.drawable.banner_shoe) // optional
.resize(250, 200) // optional
.rotate(90) // optional
.into(imageView);
}
view.addView(imageLayout, 0);
return imageLayout;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public void restoreState(Parcelable state, ClassLoader loader) {
}
@Override
public Parcelable saveState() {
return null;
}
}
Maintenant, c'est l'activité principale
public class SlideAutomaticWithViewPager extends AppCompatActivity {
public List<Banner> list_banner = new ArrayList<Banner>();
private SlidingImage_Adapter slidingImage_adapter;
private static ViewPager mPager;
private static int NUM_PAGES = 0;
private static int currentPage = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.slide_automatic);
list_banner.add(new Banner("1", "Your image link here"));
list_banner.add(new Banner("2", "https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png"));
list_banner.add(new Banner("3", "https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png"));
list_banner.add(new Banner("4", "https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png"));
mPager = (ViewPager) findViewById(R.id.viewpagerHome);
slidingImage_adapter = new SlidingImage_Adapter(this, list_banner);
mPager.setAdapter(slidingImage_adapter);
CirclePageIndicator indicator = (CirclePageIndicator) findViewById(R.id.indicator);
indicator.setViewPager(mPager);
final float density = getResources().getDisplayMetrics().density;
indicator.setRadius(5 * density);
NUM_PAGES = list_banner.size();
// Auto start of viewpager
final Handler handler = new Handler();
final Runnable Update = new Runnable() {
public void run() {
if (currentPage == NUM_PAGES) {
currentPage = 0;
}
mPager.setCurrentItem(currentPage++, true);
}
};
Timer swipeTimer = new Timer();
swipeTimer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(Update);
}
}, 3000, 3000);
// Pager listener over indicator
indicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
currentPage = position;
}
@Override
public void onPageScrolled(int pos, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int pos) {
}
});
}
}
Vous pouvez essayer ce code.
Salut danois, je vous remercie de votre volonté d'aider. Mais ma question si regardé clairement indique que mon exigence est de définir un diaporama d'images comme fond d'écran de mon appareil (écran d'accueil android). Pas mon écran d'application mais l'écran de mon appareil. Aide aimablement. Merci d'avance. –
souhaite que quelqu'un sache que j'ai tâche et ne peut trouver un seul exemple ou tutoriel pour le papier peint change les images :( – CJS