Java 带有pagerView的毕加索滑块。获取可绘制的本地图像。以及如何自动更改图像
我需要content_home.xml的滑块。我可以和毕加索合作。但是我想在@drawable/images中使用本地图像,并且当我想每隔5秒自动更改图像时 HomeActivity.javaJava 带有pagerView的毕加索滑块。获取可绘制的本地图像。以及如何自动更改图像,java,android,Java,Android,我需要content_home.xml的滑块。我可以和毕加索合作。但是我想在@drawable/images中使用本地图像,并且当我想每隔5秒自动更改图像时 HomeActivity.java public class HomeActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private String[] imageUrls = new S
public class HomeActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private String[] imageUrls = new String[]{
"https://cdn.pixabay.com/photo/2016/11/11/23/34/cat-1817970_960_720.jpg", ---> i change these images @
"https://cdn.pixabay.com/photo/2017/12/21/12/26/glowworm-3031704_960_720.jpg",
"https://cdn.pixabay.com/photo/2017/12/24/09/09/road-3036620_960_720.jpg",
"https://cdn.pixabay.com/photo/2017/11/07/00/07/fantasy-2925250_960_720.jpg",
"https://cdn.pixabay.com/photo/2017/10/10/15/28/butterfly-2837589_960_720.jpg"
--->我更改这些图像“@drawable/images…”(本地图像)
content_home.xml
<android.support.v4.view.ViewPager
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/view_pager"
android:layout_width="match_parent"
android:layout_height="250dp"
tools:context="com.codinginflow.picassoimagesliderexample.MainActivity">
</android.support.v4.view.ViewPager>
使用此代码,您就可以开始了
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (view_pager.getCurrentItem() == dotsCount - 1) {
page = 0;
}
view_pager.setCurrentItem(page++, true);
}
});
}
}, 500, 5000);
是否要在一段时间后自动更改滑块?是的示例:每5秒。请编辑旧问题,而不是发布新问题。编辑一些东西绝对没有什么丢脸的。你是完美的:)。我是一名新开发人员,这段代码运行成功。但是你能为我的学习解释一下这个代码吗:)当然。See timer是java中的一个类,它可以帮助您在一段时间后执行特定任务。timer类有一个scheduleAtFixedRate方法,它可以帮助您在特定的时间范围内重复执行任务。“视图寻呼机”有一个设置当前项的方法。根据页面位置,它将在分配给计时器任务的时间后自动更改页面,但此问题=1.5s后加载图像->2.5s后加载图像3.5s后加载图像其okey自动加载成功。现在显示最终图像。当完成这个过程。不返回到1.0图像。完成后不要自动加载问题是什么,伙计?我解释了一次这个问题25分钟:)
package com.example.hassucuk;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
public class ViewPagerAdapter extends PagerAdapter {
private Context context;
private String[] imageUrls;
ViewPagerAdapter(Context context, String[] imageUrls) {
this.context = context;
this.imageUrls = imageUrls;
}
@Override
public int getCount() {
return imageUrls.length;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
Picasso.get()
.load(imageUrls[position])
.fit()
.centerCrop()
.into(imageView);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
}
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (view_pager.getCurrentItem() == dotsCount - 1) {
page = 0;
}
view_pager.setCurrentItem(page++, true);
}
});
}
}, 500, 5000);