将设备墙纸设置为渐变背景(Android Studio)

时间:2019-01-09 05:56:26

标签: android android-studio-3.0

我在drawable文件夹中创建了一个渐变drawable。这是xml文件中的形状。

[
   {
      "id": "qwerty",
      "email": "cat@gmail.com",
      "name": "cat"
   },
   {
      "id": "abcdef",
      "email": "abc@gmail.com",
      "name": "abc"
   }         
   {
      "id": "owowao",
      "email": "dog@gmail.com",
      "name": "dog"
   },
]

当尝试单击某个按钮时,我正在尝试使用该应用将渐变设置为设备的墙纸。这有可能吗?

先谢谢了。 :)

Java代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="rectangle" >
            <gradient
                android:angle="45"
                android:centerColor="@color/centerColor"
                android:endColor="@color/endColor"
                android:startColor="@color/startColor" />
        </shape>
    </item>
</selector>

1 个答案:

答案 0 :(得分:1)

  

这有可能吗?

是的,有可能。

  1. 将此权限包括在您的manifest中。

  1. 在res文件夹中创建原始文件夹,并将该渐变添加到原始文件夹中

  2. 并在您的应用程序中使用此代码。

           WallpaperManager myWallpaperManager  = WallpaperManager.getInstance(getApplicationContext());
            try {
                myWallpaperManager.setResource(R.raw.your_gradient_drawable);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }