java - 如何将图像设置为壁纸,这些图像将一张一张地出现或像 Android 中的幻灯片一样?

标签 java android bitmap

我想在android中将图像设置为壁纸。这些图像会在一段时间后一张一张地出现,或者像幻灯片一样。我可以将一张图像设置为壁纸。但我想设置图像,这些图像会在一定时间间隔后一张一张地出现,或者像幻灯片一样。请提供任何帮助。

package com.sample.setwallpapaper;

public class MainActivity extends Activity {

Bitmap bitmap;
int ImageRef;


@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button buttonSetWallpaper = (Button)findViewById(R.id.button1);
    ImageView imagePreview = (ImageView)findViewById(R.id.imageView1);

    imagePreview.setImageResource(R.drawable.five);
    buttonSetWallpaper.setOnClickListener(new Button.OnClickListener(){

        @Override
        public void onClick(View arg0) {

            WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());

            try {
               myWallpaperManager.setResource(R.drawable.five);
            } 
            catch (IOException e) 
            {
               e.printStackTrace();
            }
       }

    });
}

最佳答案

  1. 创建一个数组来存储要在幻灯片放映中显示的图像资源引用。

  2. 使用 Repeating TimerTask 创建一个私有(private)引用计时器,并设置要更改图像的时间间隔。

  3. 获取一个私有(private)引用的 int 计数器并将其默认值设置为 0。

  4. 每次调用timerTask后,增加计数器直到达到图像资源数组的计数,然后再次重置。

  5. 确保使用 imageView 实例的 post() 方法在 TimerTask 中设置图像。

  6. 最后但并非最不重要的一点是,不要忘记在 onStop() 调用上取消并清除计时器,否则计时器任务可能会从后台调用,并且您的应用程序会崩溃。

关于java - 如何将图像设置为壁纸,这些图像将一张一张地出现或像 Android 中的幻灯片一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25445086/

相关文章:

java - 尝试在我的 java swing 代码中查找内存泄漏

java - Spring应用程序初始化

java - Libgdx 平铺 map 不透明

android - 如何在 Kotlin 中将字节附加到 ByteArray

android - 单色黑白位图

java - 如何查看 JVM 内部(?)。我可以在工作应用程序中分析方法、参数、返回值等吗?

Android,mdpi密度但屏幕不同

android - s2013 多设备混合应用程序并部署到 android 模拟器和设备

c# - 从半透明位图创建 GraphicsPath

c++ - 柏林噪声和高度图/位图