Autore Topic: background activity da file  (Letto 591 volte)

Offline giupardeb

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Glaxy Note 4
background activity da file
« il: 15 Marzo 2014, 10:30:19 CET »
0
Buongiorno ragazzi, vado subito al dunque, vorrei avere la possibilità di mettere come sfondo della mia activity, un file che risiede in memoria interna dello smartphone, sapete come potrei fare? Grazie anticipatamente, e buona giornata

Offline durykilller

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Sony Xperia Go
  • Sistema operativo:
    Windows 8.1, Ubuntu 12
Re:background activity da file
« Risposta #1 il: 16 Marzo 2014, 15:38:19 CET »
+1
prima trasformi il tuo file in un drawable con questa funzione:
Codice (Java): [Seleziona]
public static Drawable getDrawableFromFile(Context callingContext, String Filename) {
        Drawable drawable=null;
        File imgFile = new  File(Filename);
        if(imgFile.exists()){
            BitmapFactory.Options options=new BitmapFactory.Options();
            Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath(),options);
            if (options.outWidth != -1 || options.outHeight != -1) {
                drawable = new BitmapDrawable(callingContext.getResources(), myBitmap);
            }
            else drawable=null;
        }
        return(drawable);
    }

poi lo imposti come sfondo. Ecco il codice per la activity:
Codice (Java): [Seleziona]
String filename="/storage/sdcard0/sfondo.jpg";
Drawable bg=getDrawableFromFile(this,filename);
if (bg != null) {
        getWindow().setBackgroundDrawable(bg);
}
else Toast.makeText(mActivity,R.string.text_not_an_image,Toast.LENGTH_LONG).show();