标签: wallpaper

以编程方式更改Linux上的壁纸

如何在C/C++程序中更改Linux桌面上的壁纸(使用GNOME)?有没有系统API可以做到这一点?

c++ linux gnome desktop-wallpaper wallpaper

6
推荐指数
2
解决办法
5114
查看次数

Android - 动态壁纸偏移剪辑

我正在为Android写一个动态壁纸.为了测试我的基本代码是否正常工作,我在屏幕的左上角显示了一个矩形:

canvas.drawRect(0f,0f,50f,50f,paint);
Run Code Online (Sandbox Code Playgroud)

矩形的一半位于主屏幕顶部的栏下方.替代文字

我尝试使用以下方法考虑像素偏移:

public void onOffsetsChanged(float xOffset, float yOffset,
            float xOffsetStep, float yOffsetStep, int xPixelOffset,
            int yPixelOffset)

...

  canvas.drawRect(0f+xPixelOffset,0f+yPixelOffset,50f+xPixelOffset,50f+yPixelOffset
  ,paint);
Run Code Online (Sandbox Code Playgroud)

但矩形仍然在条形图下方绘制.怎么找到酒吧的哪里结束所以我可以在它下面画?

干杯,

皮特

android wallpaper draw offset live-wallpaper

6
推荐指数
1
解决办法
2268
查看次数

如何以编程方式将图像设置为墙纸?

我一直在开发需要将图像设置为壁纸的应用程序.

码:

WallpaperManager m=WallpaperManager.getInstance(this);

String s=Environment.getExternalStorageDirectory().getAbsolutePath()+"/1.jpg";
File f=new File(s);
Log.e("exist", String.valueOf(f.exists()));
try {
        InputStream is=new BufferedInputStream(new FileInputStream(s));
        m.setBitmap(BitmapFactory.decodeFile(s));

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Log.e("File", e.getMessage());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Log.e("IO", e.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

我还添加了以下权限:

<uses-permission android:name="android.permission.SET_WALLPAPER" />
Run Code Online (Sandbox Code Playgroud)

但它不起作用; 该文件存在于SD卡上.我哪里弄错了?

java android wallpaper

6
推荐指数
1
解决办法
1万
查看次数

如何使监控程序显示为壁纸?

我制作了一个简单的C#程序来显示我们所拥有的一些机器的基本信息.该程序是全屏的,每秒刷新一次.我们在商店里有一个专用的PC和屏幕,可以不断地显示它,但是有些导演也想在PC上使用它,但它看起来像是一个壁纸.

请告诉我是否有一种简单的方法将程序设置为动态壁纸,因为我什么都没发现.

我认为真正的解决方案是修改程序以使其最小化运行,偶尔(如每15或20分钟)它会在最大化时生成外观图像,然后将该图像设置为桌面墙纸.

我的解决方案有意义吗?如何从隐藏的应用程序生成图片?

c# wallpaper

6
推荐指数
1
解决办法
286
查看次数

在 Android 中设置壁纸

我正在开发一个简单的应用程序,它根据用户输入设置壁纸。我缺少设置壁纸的代码。我在很多网站上都没有找到它。任何人都可以发布设置为墙纸的示例代码作为保存在res文件夹中的可绘制对象吗?

java android wallpaper

5
推荐指数
1
解决办法
6682
查看次数

Android - WallpaperService 为什么我的引擎必须是内部类?

我正在制作一个简单的 android 动态壁纸,我按照Hello, Android 中的第 12 章作为我的指南。

壁纸服务的基本结构如下所示:

public class MyWallpaper extends WallpaperService {

    private class MyEngine extends Engine {
    //...
    }        

    //...

}
Run Code Online (Sandbox Code Playgroud)

按照书上的说法MyEngine 一定是内部类的MyWallpaper。我没有理由对此提出异议,但该书没有解释为什么必须如此。我不喜欢纯粹出于风格/美学原因使用内部类。

我想知道是否MyEngine实际上必须是一个私有内部类,如果是,为什么?

android wallpaper inner-classes

5
推荐指数
1
解决办法
1637
查看次数

避免墙纸跨越 5 个屏幕

我一直面临一个问题。如何在 Android 中设置墙纸,而不将其拉伸到 5 个主屏幕。需要明确的是,我有一个分辨率为 320x480px 的资源图像,当我在 Android 中将其设置为墙纸时,它会在 5 个屏幕上拉伸,但我希望它仅显示在 1 个屏幕中(或在所有屏幕中显示相同的图像),知道了?

我对使用动态壁纸不感兴趣。

android wallpaper

5
推荐指数
1
解决办法
7万
查看次数

如何将整个图像作为壁纸贴在屏幕上

我正在开发一个应用程序,从图库中选择一个图像,然后将该图像设置为壁纸.但这里的问题是只有部分图像被设置为壁纸而不是整个图像,但我想将整个图像设置为壁纸.你能告诉我怎么办?

这是我的代码......

public class Scaleimage extends Activity {
    /** Called when the activity is first created. */

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String FileName;
        File file = new File("/sdcard/pictures");   
        File[] imageFiles = file.listFiles( );
        if(imageFiles.length > 0 ) {
            FileName = imageFiles[0].getName();
        final WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseContext());   
        Bitmap myBitmap =  BitmapFactory.decodeFile("/sdcard/pictures" + "/" + FileName); 

        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        int height = displayMetrics.heightPixels;
        int width = displayMetrics.widthPixels << 1;
        myBitmap = Bitmap.createScaledBitmap(myBitmap,width, height, true);
        try { …
Run Code Online (Sandbox Code Playgroud)

android wallpaper

5
推荐指数
1
解决办法
6705
查看次数

在Android上设置壁纸刷新

我正在尝试更改当前的用户壁纸.我已经设置了set_wallpaper权限,但它确实有效.但是当我改变壁纸时,我必须等待大约15秒才能看到壁纸的变化.

这是很奇怪的,因为如果我检查锁定屏幕它已经改变了.

这是我的代码:

 public static void setWallpaper(final Context context, final Bitmap image){
        Thread thread = new Thread() {
            @Override
            public void run() {
                WallpaperManager wallpaperManager = WallpaperManager.getInstance(context.getApplicationContext());
                try {
                    if(image != null){
                        wallpaperManager.setBitmap(image);
                    }
                } catch (IOException ignored) {}
            }
        };

        thread.start();
}
Run Code Online (Sandbox Code Playgroud)

我在Android 6上.任何帮助将不胜感激.

android wallpaper

5
推荐指数
1
解决办法
368
查看次数

其他动态壁纸应用程序无法访问动态壁纸

我开发了一个动态壁纸应用程序,它只能从谷歌的动态壁纸应用程序访问,但像小米、Oppo 这样的手机有自己的壁纸应用程序,而我的应用程序没有显示在他们的壁纸部分。谁能帮我解决这个问题或将我重定向到一个想法来解决这个问题?

这是我的 Wallpaper.xml 文件

<?xml version="1.0" encoding="UTF-8"?>    
<wallpaper
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:description="@string/wallpaper_description"
        android:thumbnail="@raw/element1"
        android:settingsActivity=""/>
Run Code Online (Sandbox Code Playgroud)

这是我的清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.edustan.mywallpaper">
<uses-feature
    android:name="android.software.live_wallpaper"
    android:required="true" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="AllowBackup,GoogleAppIndexingWarning" >
    <service
        android:name=".MyWallpaperService"
        android:enabled="true"
        android:label="Wallpaper Example "
        android:permission="android.permission.BIND_WALLPAPER">
        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />
        </intent-filter>

        <meta-data
            android:name="android.service.wallpaper"
            android:resource="@xml/wallpaper" />
    </service>
</application>
Run Code Online (Sandbox Code Playgroud)

这是我的 WallpaperService 类文件

 @Override
public Engine onCreateEngine() {

    return new MyWallpaperEngine();
}
private class MyWallpaperEngine extends Engine{
    public Bitmap image1, image2, image3;
    private int count_new =0;
    private …
Run Code Online (Sandbox Code Playgroud)

java android wallpaper live-wallpaper android-wallpaper

5
推荐指数
0
解决办法
139
查看次数