当前位置: 首页 > 知识库问答 >
问题:

如何每n秒改变imageview中的图像

充星腾
2023-03-14

我做了一个数组,所有的图像都在int中,我想在imageView中每3秒钟改变这些图像,我尝试了所有的解决方案,但显示了一些错误,我无法解决。

java文件(home.java

/**
* Created by sukhvir on 17/04/2015.
*/
public class home extends android.support.v4.app.Fragment {

    ImageView MyImageView;
    int[] imageArray = { R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5 };

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /**
         * Inflate the layout for this fragment
        */
        return inflater.inflate(R.layout.home, container, false);
    }
}

xml文件(home.xml)

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

共有1个答案

濮阳宜
2023-03-14

实现您的要求的最佳选择是,您应该使用计时器每3秒更改图像,如下所示。

// Declare globally
private int position = -1;

/**
 * This timer will call each of the seconds.
 */
Timer mTimer = new Timer();
mTimer.schedule(new TimerTask() {
    @Override
    public void run() {
        // As timer is not a Main/UI thread need to do all UI task on runOnUiThread
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                    // increase your position so new image will show
                position++;
                // check whether position increased to length then set it to 0
                // so it will show images in circuler
                if (position >= imageArray.length)
                    position = 0;
                // Set Image
                MyImageView.setImageResource(imageArray[position]);
            }
        });
    }
}, 0, 3000);
// where 0 is for start now and 3000 (3 second) is for interval to change image as you mentioned in question
 类似资料:
  • 问题内容: 如果我希望每N秒重新加载整个页面,则可以在HTML中输入以下内容: 是否有针对AJAX调用执行相同操作的标准做法?我想安排一个AJAX调用每10秒关闭一次,以便更新页面的某些部分,而不刷新整个页面。如果我可以在不同的时间安排多个AJAX调用会更好,因为页面的某些部分可能需要比其他部分更频繁地更新。 TIA 问题答案: 您可以使用或(后者可能最适合您想要的操作)。 …其中是一个通过AJA

  • 我有一个图像视图和一堆图像,但问题是我想一个接一个地显示图像视图中的所有图像,图像应该像gif动画一样每秒钟或每0.2秒改变一次。

  • 我的问题:我希望能够改变资源图像的亮度,并有三个实例作为ImageIcons。一个在50%的亮度(所以更暗),另一个在75%的亮度(稍微亮一点),最后一个在100%的亮度(与原始图像相同)。我还想保持透明度。 我试过的:我到处找了找,看起来最好的解决方案是使用,但我就是想不通。我不知道缩放因子和偏移量是怎么回事。这是我尝试的代码。 呼叫将是这样的: 这段代码会发生什么:图像看起来是“不可见的”,我

  • 我的代码出错了。为什么胡虎123123

  • 我正在将图像设置为ImageView,但是图像不是从设备存储中拾取的,图像是由服务器发送的,我想在将图像设置到ImageView之前了解图像的方向。因此,是否可以使用其url和ExifInterface检查来自服务器的jpg图像的方向,然后根据需要更改其方向以设置为imageview?

  • 我有一个函数,使API调用服务器和更新用户界面与新数据。我想使,使每30秒我使API调用不同的url每次?这些API调用应该是不间断的,只要应用程序正在运行。