2011-05-14 68 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