Avoid a wallpaper to stretch across 5 screens

2020-05-24 21:06发布

问题:

I've been facing a problem. How do I set a wallpaper in Android, without stretching it across 5 home screens. To be clear, I have a resource images with resolution 320x480px and when I set it as wallpaper in Android, it gets stretched across 5 screens, but I want it to show up only in 1 screen (or the same image in all screens), got it?

I'm not interested in using a livewallpaper.

回答1:

Only way to have an app do that is using a live wallpaper.

There are two types of wallpaper, static and live. The scrolling of a static background is controlled by the launcher app. This is why LauncherPro and ADW can control the scrolling. When the user chooses a live wallpaper, the launcher simply displays whatever the LWP wants to render, so the LWP controls the scrolling, if any. This is how MultiPicture LWP solves the problem.

So your only options are to implement a custom launcher (which I doubt you want to do for such minor functionality) or implement a live wallpaper.

And BTW, setWallpaperOffsetSteps is an internal method called by the launcher on a live wallpaper, so the LWP knows where it's supposed to be drawing. You can't call it directly, but you can listen to onOffsetsChanged within your LWP to facilitate your own scrolling implementation.



回答2:

Tap and hold your screen when you get popup "add to home screen"

select "wallpapers"

select "home screen wallpaper"

when you've selected a picture from gallery or explorer you get a screen where you can crop your Image to fit home screen.

On the bottom you can select 2 type of crops.

A big crop for setting it accros 5 screens and a small crop to use the same BG on all 5 screens. see screenshot:

select the latter, crop your picture and save.



回答3:

Not possible. May be there are any private libraries for it.



回答4:

Apparently it's not native Android functionality. You can, however, get apps that do it. "Launcher Pro" and "ADW EX Launcher" can both disable scrolling but you may need to create a landscape rectangular image with empty borders at the right size.

Alternatively, the app "MultiPicture Live Wallpaper" may do what you need. A reviewer wrote: "Lets me use a picture sized the same as my phone's screen as the background on all pages of the launcher. Not sure why that isn't part of Android."

EDIT: have a look at tdtje's post before you try these. If that works, then awesome. I'm not sure which version of Android that became available in, as I'm using 2.1 without that feature.

FURTHER EDIT: In the comments below, Martyn gives us a first hand opinion!



回答5:

I went to Settings and clicked on home screen. Then went to wallpaper. I selected my picture and cropped using the gallary app. This had a setting on the top to either stretch or not. I'm running Android 4.4.