如何设置壁纸(viewpager) [英] How to set wallpaper (viewpager)

查看:166
本文介绍了如何设置壁纸(viewpager)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要设置从viewpager(选择图像)壁纸。我有不同的pictures(R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6............)我该怎么办,我想是动态的,请帮帮我,谢谢

App.class;

 公共类应用扩展活动实现OnPageChangeListener {
受保护的静态最终上下文的背景下= NULL;私人整数[] = ListOfID {
        R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6,R.drawable.a7,
        R.drawable.a8,R.drawable.a9,R.drawable.a10,R.drawable.a11,R.drawable.a12,R.drawable.a13,R.drawable.a14,R.drawable.a15,
        R.drawable.a16,R.drawable.a17,R.drawable.a18,R.drawable.a19,R.drawable.a20};
私有静态最终诠释计数= 22;
//私人AdController myController的;
查看查看= NULL;
整数imageId;
最终活动的行为=这一点;
私人INT indexOfImage = 0;
公众的LinearLayout布局;公共无效的onCreate(捆绑savedInstanceState)
{
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);     MyPagerAdapter适配器=新MyPagerAdapter();
       最后ViewPager myPager =(ViewPager)findViewById(R.id.myfivepanelpager);
         myPager.setAdapter(适配器);
         myPager.setCurrentItem(12);
         myPager.setOnPageChangeListener(本);         按钮旁边=(按钮)findViewById(R.id.buttonnext);
         next.setOnClickListener(新View.OnClickListener(){             公共无效的onClick(视图v){
                 myPager.setCurrentItem(myPager.getCurrentItem()+ 1);
             }
         });         按钮previous =(按钮)findViewById(R.id.button previous);
         previous.setOnClickListener(新View.OnClickListener(){             公共无效的onClick(视图v){
                 myPager.setCurrentItem(myPager.getCurrentItem() - 1);
             }
         });         按钮duvarbtn =(按钮)findViewById(R.id.button1);
         duvarbtn.setOnClickListener(新View.OnClickListener(){
            INT ID = ListOfID [indexOfImage]
             公共无效的onClick(视图v){                WallpaperManager myWallpaperManager
                 = WallpaperManager.getInstance(getApplicationContext());
                尝试{
                    myWallpaperManager.setResource(ID);
                }赶上(IOException异常五){
                 // TODO自动生成catch块
                 e.printStackTrace();
                }
             }
         });
}公共无效onPageScrollStateChanged(INT为arg0){
    // TODO自动生成方法存根}公共无效onPageScrolled(INT位置,浮ARG1,ARG2 INT){
    // TODO自动生成方法存根        }公共无效使用onPageSelected(INT位置){
    // TODO自动生成方法存根    indexOfImage =位置;
    开关(位置){
    案件0://
   第一页(位置);
   indexOfImage =位置;
        打破;
    情况1:
        indexOfImage =位置;
        打破;
    案例2:
        indexOfImage =位置;
        打破;
    案例3:
        indexOfImage =位置;
        打破;
    情况4:
        indexOfImage =位置;
        打破;
    情况5:
        indexOfImage =位置;
        打破;
    情况6:
        indexOfImage =位置;
        打破;
    案例7:
        indexOfImage =位置;
        打破;
    案例8:
        indexOfImage =位置;
        打破;
    案例9:
        indexOfImage =位置;
        打破;
    案例10:
        indexOfImage =位置;
        打破;
    案例11:
        indexOfImage =位置;
        打破;
    案例12:
        indexOfImage =位置;
        打破;
    案例13:
        indexOfImage =位置;
        打破;
    案例14:
        indexOfImage =位置;
        打破;
    案例15:
        indexOfImage =位置;
        打破;
    案例16:
        indexOfImage =位置;
        打破;
    案例17:
        indexOfImage =位置;
        打破;
    案例18:
        indexOfImage =位置;
        打破;
    案例19:
        indexOfImage =位置;
        打破;
    案例20:
        indexOfImage =位置;
        打破;
    案例21:
        第一页(位置);
        indexOfImage =位置;
        打破;
    }}公共无效第一​​页(INT位置){
    // TODO自动生成方法存根
    ViewPager myPager =(ViewPager)findViewById(R.id.myfivepanelpager);
     INT = PAGECOUNT的getCount();
     如果(位置== 0){
         //
         myPager.setCurrentItem(页页次-2,假);
     }否则如果(位置==页页次-1){
        // ViewPager myPager =(ViewPager)findViewById(R.id.myfivepanelpager);
         myPager.setCurrentItem(1,FALSE);
     }
}
私人诠释getCount将(){
    // TODO自动生成方法存根
     返回计数;
}
公共无效的onClick(视图v){
    // TODO自动生成方法存根
    //过滤器f =(过滤器)v.getTag();
   // MyPagerAdapter.show(这一点,输入,F);
}
 公共无效的onDestroy()
    {
     super.onDestroy();
    }
}


解决方案

  pager.setOnPageChangeListener(新MyPageChangeListener());
私人INT indexOfImage = 0;
私有类MyPageChangeListener扩展ViewPager.SimpleOnPageChangeListener {
    @覆盖
    公共无效使用onPageSelected(INT位置){
        indexOfImage =位置;
    }
}

设置为墙纸

  INT ID = ListOfID [indexOfImage]
WallpaperManager myWallpaperManager
     = WallpaperManager.getInstance(getApplicationContext());
myWallpaperManager.setResource(ID);

I want to set wallpaper from viewpager(selected image). I have different pictures(R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6............) How can I do, I want to be dynamic,please help me, thanks

App.class;

public class App extends Activity  implements OnPageChangeListener {
protected static final Context Context = null;

private Integer[] ListOfID = {
        R.drawable.a1, R.drawable.a2, R.drawable.a3, R.drawable.a4, R.drawable.a5,     R.drawable.a6, R.drawable.a7,
        R.drawable.a8, R.drawable.a9, R.drawable.a10, R.drawable.a11, R.drawable.a12, R.drawable.a13, R.drawable.a14, R.drawable.a15,
        R.drawable.a16, R.drawable.a17, R.drawable.a18, R.drawable.a19, R.drawable.a20};
private static final int count = 22;


//private AdController myController;
View view=null;
Integer imageId;
final Activity act = this;  
private int indexOfImage = 0;
public LinearLayout layout;

public void onCreate(Bundle savedInstanceState)
{       
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

     MyPagerAdapter adapter = new MyPagerAdapter();
       final ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
         myPager.setAdapter(adapter);
         myPager.setCurrentItem(12); 
         myPager.setOnPageChangeListener(this);

         Button next = (Button) findViewById(R.id.buttonnext);
         next.setOnClickListener(new View.OnClickListener(){

             public void onClick(View v) {
                 myPager.setCurrentItem(myPager.getCurrentItem()+1);
             }
         }); 

         Button previous = (Button) findViewById(R.id.buttonprevious);
         previous.setOnClickListener(new View.OnClickListener(){

             public void onClick(View v) {
                 myPager.setCurrentItem(myPager.getCurrentItem()-1);
             }
         }); 

         Button duvarbtn = (Button) findViewById(R.id.button1);
         duvarbtn.setOnClickListener(new View.OnClickListener(){
            int id=ListOfID[indexOfImage];
             public void onClick(View v) {

                WallpaperManager myWallpaperManager
                 = WallpaperManager.getInstance(getApplicationContext());
                try {                                                                      
                    myWallpaperManager.setResource(id);                       
                } catch (IOException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
                }
             }          
         }); 
}

public void onPageScrollStateChanged(int arg0) {
    // TODO Auto-generated method stub

}

public void onPageScrolled(int position, float arg1, int arg2) {
    // TODO Auto-generated method stub

        }

public void onPageSelected(int position) {
    // TODO Auto-generated method stub

    indexOfImage = position;
    switch (position) {
    case 0://
   firstpage(position);
   indexOfImage = position;
        break;
    case 1:     
        indexOfImage = position;
        break;
    case 2:
        indexOfImage = position;
        break;
    case 3:
        indexOfImage = position;
        break;
    case 4:
        indexOfImage = position;
        break;
    case 5:
        indexOfImage = position;
        break;
    case 6:
        indexOfImage = position;
        break;
    case 7:
        indexOfImage = position;
        break;
    case 8:
        indexOfImage = position;
        break;
    case 9:
        indexOfImage = position;
        break;
    case 10:
        indexOfImage = position;
        break;
    case 11:
        indexOfImage = position;
        break;
    case 12:
        indexOfImage = position;
        break;
    case 13:
        indexOfImage = position;
        break;
    case 14:
        indexOfImage = position;
        break;
    case 15:
        indexOfImage = position;
        break;
    case 16:
        indexOfImage = position;
        break;
    case 17:
        indexOfImage = position;
        break;
    case 18:
        indexOfImage = position;
        break;
    case 19:
        indexOfImage = position;
        break;
    case 20:
        indexOfImage = position;
        break;
    case 21:
        firstpage(position);
        indexOfImage = position;
        break;
    }

}

public void firstpage(int position) {
    // TODO Auto-generated method stub
    ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
     int pageCount = getCount();
     if (position == 0){
         //
         myPager.setCurrentItem(pageCount-2,false);
     } else if (position == pageCount-1){
        //ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
         myPager.setCurrentItem(1,false);
     }
}


private int getCount() {
    // TODO Auto-generated method stub
     return count;
}
public void onClick(View v) {
    // TODO Auto-generated method stub
    //Filter f = (Filter) v.getTag();
   // MyPagerAdapter.show(this, input, f);
}
 public void onDestroy()
    {
     super.onDestroy();
    }   
}

解决方案

pager.setOnPageChangeListener(new MyPageChangeListener()); 
private int indexOfImage = 0;
private class MyPageChangeListener extends ViewPager.SimpleOnPageChangeListener {
    @Override
    public void onPageSelected(int position) {
        indexOfImage = position;
    }
}

Setting it as wallpaper

int id=ListOfID[indexOfImage];
WallpaperManager myWallpaperManager
     = WallpaperManager.getInstance(getApplicationContext());
myWallpaperManager.setResource(id);

这篇关于如何设置壁纸(viewpager)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆