Sto usando un codice più semplice per impostare wallpaper
:Android - Imposta sfondo per adattarla al formato dello schermo del telefono
Bitmap bmap2 = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.a));
getApplicationContext().setWallpaper(bmap2);
E il problema si verifica quando la dimensione dell'immagine è più grande la dimensione dello schermo. Posso vedere solo la parte dell'immagine in ingresso.
Ho provato i metodi di ridimensionamento come createScaledBitmap
e funziona, ma non come voglio. createScaledBitmap
sta ridimensionando bitmap, ma non le dimensioni dell'immagine, solo la risoluzione (solo compromettere la qualità dell'immagine, non la dimensione dell'immagine caricata sul telefono come sfondo).
Qualcuno sa come ridimensionare la dimensione dell'immagine, non una risoluzione?
EDIT:
alcune schermate:
Immagini dal menù, prima scala e dopo scala:
http://zapodaj.net/14097596e4251.png.html
Quindi, come potete vedere risoluzione v'è scalato non solo, dimensione del immagine.
Qualche idea ??
Come nota, 'setWallpaper' è deprecato dal livello di API 5. Si potrebbe desiderare di guardare in [WallpaperManager] (http://developer.android.com/reference/android/app/WallpaperManager.html) che ha molte utilità. – adrianp
Ho anche provato: WallpaperManager wallpaperManager = WallpaperManager.getInstance (this); wallpaperManager.setBitmap (bmap2); ma è lo stesso. (almeno risultato) – Tomi89
Problema già risolto. Questo codice mi ha aiutato: DisplayMetrics metrics = new DisplayMetrics(); \t \t getWindowManager(). GetDefaultDisplay(). GetMetrics (metriche); \t \t altezza int = metrics.heightPixels; \t \t int width = metrics.widthPixels; \t \t Bitmap bitmap = Bitmap \t \t \t \t .createScaledBitmap (qualunque sia, larghezza, altezza, true); – Tomi89