字数不够,原文地址http://blog.csdn.net/yao_guet/article/details/6572739
在Android应用开发中,使用系统桌面背景作为应用的背景,需要把应用的背景设置为透明背景,然后设置窗口的属性为FLAG_SHOW_WALLPAPER即可显示背景。
修改AndroidManifest.xml文件里面activity属性:
<activity android:name=".WallPaperTest"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent">
然后在使用的时候,在onCreate里面添加一个窗口属性
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
在背景拖动的时候主要是使用了WallpaperManager这个类的两个方法
public void setWallpaperOffsetSteps (float xStep, float yStep)
For applications that use multiple virtual screens showing a wallpaper, specify the step size between virtual screens. For example, if the launcher has 3 virtual screens, it would specify an xStep of 0.5, since the X offset for those screens are 0.0, 0.5 and 1.0
Parameters
xStep | The X offset delta from one screen to the next one |
---|---|
yStep | The Y offset delta from one screen to the next one |
public void setWallpaperOffsets (IBinder windowToken, float xOffset, float yOffset)
Set the position of the current wallpaper within any larger space, when that wallpaper is visible behind the given window. The X and Y offsets are floating point numbers ranging from 0 to 1, representing where the wallpaper should be positioned within the screen space. These only make sense when the wallpaper is larger than the screen.
Parameters
windowToken | The window who these offsets should be associated with, as returned by View.getWindowToken() . |
---|---|
xOffset | The offset along the X dimension, from 0 to 1. |
yOffset | The offset along the Y dimension, from 0 to 1.
|
<activity android:name=".WallPaperTest"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent">