Java 如何根据所选图像设置壁纸?
我正在制作一个壁纸应用程序,其功能类似于底部有一个水平滚动视图,其中有一个图像按钮列表,单击该按钮将显示应用程序中壁纸的预览。我如何告诉应用程序将壁纸与预览的壁纸进行设置 我的xml:Java 如何根据所选图像设置壁纸?,java,android,android-layout,wallpaper,Java,Android,Android Layout,Wallpaper,我正在制作一个壁纸应用程序,其功能类似于底部有一个水平滚动视图,其中有一个图像按钮列表,单击该按钮将显示应用程序中壁纸的预览。我如何告诉应用程序将壁纸与预览的壁纸进行设置 我的xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:clickable="true"
tools:context="biz.bigtooth.wallpapers.MainActivity">
<Button
android:id="@+id/set"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:padding="16dp"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:background="@color/button"
android:gravity="start|center_vertical"
android:textColor="@android:color/white"
android:text="Set Wallpaper" />
<HorizontalScrollView
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/bottom">
<ImageButton android:id="@+id/dsc18"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0018" />
<ImageButton android:id="@+id/dsc65"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0065" />
<ImageButton android:id="@+id/dsc131"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0131" />
<ImageButton android:id="@+id/dsc175"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0175" />
<ImageButton android:id="@+id/dsc246"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0246" />
<ImageButton android:id="@+id/dsc274"
android:layout_width="120dp"
android:layout_height="150dp"
android:layout_margin="8dp"
android:focusable="true"
android:src="@drawable/_dsc0274" />
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
提前感谢您的帮助 首先,您需要设置所需的权限
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
这只是将其设置为在预览第一张壁纸时设置不同的壁纸。
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
dsc18.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());
try {
myWallpaperManager.setResource(onethreeone);
} catch (IOException e) {
e.printStackTrace();
}
dsc18.hasFocus();
}
});