2017-02-15 1 views
-1

Bonjour tout le monde je crée une application de fond d'écran en ligne.Où les utilisateurs peuvent accéder à fond d'écran en ligne.Je veux ajouter deux bouton premier est défini comme fond d'écran et le second est bouton de téléchargement. moi à ce sujet je leur serai reconnaissant merci.Comment ajouter un ensemble comme bouton de fond d'écran

GalleryDetailActivity public class étend ActionBarActivity {

public static final String EXTRA_IMAGE = "extra_image"; 


private ImageView mImageView; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_gallery_detail); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


    mImageView = (ImageView) findViewById(R.id.image); 

    if (getIntent() != null && getIntent().getExtras() != null) { 
     if (getIntent().getExtras().containsKey(EXTRA_IMAGE)) { 
      Picasso.with(this).load(getIntent().getExtras().getString(EXTRA_IMAGE)).into(mImageView); 
     } 

    } 
+0

Pouvez-vous nous montrer ce que vous avez essayé jusqu'à présent? – Forklift

+0

J'utilise Picasso et json pour télécharger l'image pour le serveur –

Répondre

0

Tout d'abord, vous devez vous assurer que vous avez la permission de faire une telle action. Ajouter dans votre manifeste:

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

Pour télécharger l'image hébergée dans un certain site, vous pouvez utiliser un « doInBackground discussion » comme suggéré ci-dessous:

How to download and save an image in Android

Le bouton pour régler le fond d'écran est créé par Code ci-dessous:

Button setWallpaper = (Button)findViewById(R.id.YOUR_BUTTON); 
ImageView imagePreview = (ImageView)findViewById(R.id.YOUR_PREVIEW); 
imagePreview.setImageResource(YOUR_IMAGE_RESOURCE); 

setWallpaper.setOnClickListener(new Button.OnClickListener(){ 
     @Override 
     public void onClick(View arg0) { 
      WallpaperManager myWallpaperManager 
      = WallpaperManager.getInstance(getApplicationContext()); 
      try { 
       myWallpaperManager.setResource(YOUR_IMAGE_RESOURCE); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
}}); 

YOUR_IMAGE pourrait être une ressource locale, comme:

R.drawable.myImageFile 

Le lien dans la réponse Il existe plusieurs façons de télécharger votre image en ligne. S'il vous plaît, vérifiez-le et essayez d'installer votre fond d'écran avec des images locales en premier.

File f = new File(Environment.getExternalStorageDirectory(), "yourfile.jpg"); 
String path = f.getAbsolutePath(); 
File jpg = new File(path); 

if(jpg.exists()) { 
    Bitmap bmp = BitmapFactory.decodeFile(path); 
    BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp); 
    WallpaperManager m=WallpaperManager.getInstance(this); 

    try { 
     m.setBitmap(bmp); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
+0

Que vais-je mettre en image _resource ma source est en ligne –

+0

Besoin de plus d'indices .. J'utilise Picasso et json pour télécharger l'image en arrière-plan alors quelle est ma source d'image me donner quelques éclaircissements merci –

+0

s'il vous plaît, essayez d'utiliser un fichier local. Voir la réponse edit pour savoir comment faire cela. Après que le fichier local fonctionne bien, cliquez sur le lien suggéré et choisissez la réponse qui correspond le mieux à votre problème. –