2011-05-14 75 views
0

与Android图库工作的人,只是得到它的工作,但我想弄清楚如何让图库中选定的图像被设置为手机的壁纸通过点击一个按钮。任何帮助表示赞赏。这是代码;设置imageview到手机壁纸

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.gallery); 

    imgView = (ImageView) findViewById(R.id.ImageView01); 
    imgView.setBackgroundResource(Imgid[0]); 

    gallery = (Gallery) findViewById(R.id.examplegallery); 
    gallery.setAdapter(new AddImgAdp(this)); 

    gallery.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView parent, View v, int position, 
       long id) { 
      imgView.setBackgroundResource(Imgid[position]); 
     } 
    }); 

} 

Button btn = (Button) findViewById(R.id.button3); 

    btn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

     } 
    }); 


public class AddImgAdp extends BaseAdapter { 
    int GalItemBg; 
    private Context cont; 

    public AddImgAdp(Context c) { 
     cont = c; 
     TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme); 
     GalItemBg = typArray.getResourceId(
       R.styleable.GalleryTheme_android_galleryItemBackground, 0); 
     typArray.recycle(); 
    } 

    public int getCount() { 
     return Imgid.length; 
    } 

    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imgView = new ImageView(cont); 

     imgView.setImageResource(Imgid[position]); 
     imgView.setLayoutParams(new Gallery.LayoutParams(80, 70)); 
     imgView.setScaleType(ImageView.ScaleType.FIT_XY); 
     imgView.setBackgroundResource(GalItemBg); 

     return imgView; 
    } 
} 

}

回答

0

使用墙纸经理:

try { 
    // Set background from a resource 
    WallpaperManager.getInstance(this).setResource(R.drawable.bg); 
    // or set background from a bitmap 
    WallpaperManager.getInstance(this).setBitmap(mBitmap); 

} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 

是否需要这个权限在你的清单:

<uses-permission android:name="android.permission.SET_WALLPAPER" /> 
+0

谢谢,它的工作却遇到了麻烦所选项目画廊 – Amanni 2011-05-15 20:16:41

+0

现在全部排序,非常感谢 – Amanni 2011-05-15 20:30:21