【问题标题】:How Can I set Images as wallpaper that those will come one by one or like slidesow in android?如何将图像设置为墙纸,这些墙纸将一张一张出现或像android中的slidesow一样?
【发布时间】:2014-08-22 19:03:49
【问题描述】:

我想在 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();
            }
       }

    });
}

【问题讨论】:

  • 您可以为此使用TimerCount down TimerHandler。第一件事是做一些护目镜,这样你就会得到更好的解决方案。
  • 您可以查看此链接stackoverflow.com/questions/9732812/…

标签: java android bitmap


【解决方案1】:
  1. 创建一个数组,用于存储要在幻灯片放映中显示的图像资源引用。

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多