Turkcell | Geleceği Yazanlar

Soru & Cevap

Resim Galerisi ve Arkaplan

21.10.2014 - 00:13

Merhaba. Elimde bir uygulamam için resim galeri kodlarım var. Ancak bir buton veya menü butonuyla bu resimleri arkaplan olarak yayınlamak istiyorum. Pek çok kaynak araştırdım ancak bir sonuç alamadım.

Elimdeki kodlar şöyle;

.....

gallery = (Gallery) findViewById(R.id.gallery);
        foto = (ImageView) findViewById(R.id.imageView1);
        
        gallery.setAdapter(new ImageAdapter(this));

        gallery.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView parent, View v, int position, long id) {
                
                switch(position) {
                
                case 0: foto.setImageResource(R.drawable.r1); break;
                
                case 1: foto.setImageResource(R.drawable.r2); break;
                
                case 2: foto.setImageResource(R.drawable.r3); break;
                
                case 3: foto.setImageResource(R.drawable.r4); break;
                }
            }
        });
        
        
        
    }
    
    public class ImageAdapter extends BaseAdapter {
        int mGalleryItemBackground;
        private Context mContext;
        private Integer[] mImageIds = {
                R.drawable.r1,
                R.drawable.r2,
                R.drawable.r3,
                R.drawable.r4,
             };
        public ImageAdapter(Context c) {
            mContext = c;
            TypedArray attr = mContext.obtainStyledAttributes(R.styleable.GaleriOlusturma);
            mGalleryItemBackground = attr.getResourceId(
                    R.styleable.GaleriOlusturma_android_galleryItemBackground, 0);
            attr.recycle();
        }
        public int getCount() {
            return mImageIds.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 imageView = new ImageView(mContext);
            imageView.setImageResource(mImageIds[position]);
            imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            imageView.setBackgroundResource(mGalleryItemBackground);

            return imageView;
        }

 

 

Böyle bir galerideki seçilen resmi arkaplan atamak için bir butonun içine nasıl bir kod yazılmalı ? İlginize şimdiden teşekkürler.

2952 Görüntülenme

1 Cevap

Ahmet Burak Demirkoparan
21.10.2014 - 10:21

http://stackoverflow.com/a/9883241

Buradaki cevaptan yararlanabilirsin.

[code]
<uses-permission android:name="android.permission.SET_WALLPAPER">
[/code]

permissionunu manifest'e vermeyi unutma.

[code]


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

try {

myWallpaperManager.setResource(R.drawable.ic_launcher);

}

catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

[/code]

Mehmet Akif AKTAŞ
21.10.2014 - 11:22
Öncelikle cevabınız için teşekkür ederim. Manifeste eklemiştim zaten. Şimdi sormak istediğim bu koddaki myWallpaperManager.setResource(R.drawable.ic_launcher); bölümü. ic_launcher.png dosyasını wallpaper olararak atıyor bu kod ama bana galeriden case yapısıyla gösterdiğim resimleri atayacak bir kod lazım.. myWallpaperManager.setResource(position); veya myWallpaperManager.setResource(mImageIds); gibi birşey gerekmezmi ?
Ahmet Burak Demirkoparan
21.10.2014 - 14:44
kendi case içerisinde setResource methodunu cagırıp kendi resim adını vereceksin o kadar.
Mehmet Akif AKTAŞ
21.10.2014 - 22:06
myWallpaperManager.setResource(position); denedim o da olmadı. Nasıl bir düzenleme yapmalıyım?
  • Filtered HTML

    Plain text

    Basic HTML

  • Dikey Sekmeler