防止实时墙纸改变屏幕方向
我正在制作实时壁纸,我想将其始终保持肖像模式.我知道一项活动有可能在清单中声明方向,但是我找不到在实时壁纸服务中做同样的方法.是否有可能以某种方式告诉墙纸引擎在渲染过程中交换X和Y轴,或者类似的东西,因为我不知道. 解决方案 使用以下方法检查方向更改 public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) 如果宽度大于高度,您知道方向变为景观. 确保您现在将X视为y,将其视为x. 宽度和高度也是如此. 其他解决方案 您可以处理实时壁纸的方向更改.您无法修复方向.
0 2023-05-14
编程技术问答社区
当一个应用程序被打开并改变方向时,防止实时壁纸的方向改变?
我写的是我写的实时墙纸的方向问题.基本上,画布将根据其上方打开的应用程序旋转.我对此进行了测试,并意识到当我从先前打开的应用程序返回主屏幕时,onsurfacechanged()方法正在触发. . 我想一个更好的问题是,为什么打开应用程序并改变了方向时,我的实时壁纸表面会更改?有没有办法防止我的实时墙纸方向改变?谢谢,希望这有意义吗? 解决方案 您可以从android.service.wallpaper.wallpaperservice中处理屏幕方向. public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) ...只需相应地处理事件. 您不能添加 android:configchanges nor android:screentorientation 到wallpaperService! (创建实时壁纸时您正在使用的) 我会将其添加到" A
4 2023-05-14
编程技术问答社区
安卓。GLWallpaperService导致绿屏
我正在尝试使用OpenGl( 我进口并试图运行Robert Green的GlwallPaperService和示例在这里(使用Eclipse SDK). P> 我的手机是Huwei Ascend Android 2.1.我已经知道它可以运行其他OpenGL LWP. 当我运行包装时,它只是产生坚固的绿色屏幕,而没有形状或任何东西. ive对它进行了很多研究,但仍然无法弄清楚为什么会发生这种情况. 我读了几次,必须将命名空间更改为我的软件包.但仍然没有运气... 我尝试按照指示将他的glwallpaperservice jar库链接到我的包裹.不. 任何指导都将不胜感激. 解决方案 在渲染器代码中尝试gl.glscale().我也遇到了同样的问题,我发现我的Glview太大了,以至于我看不到任何东西.尝试减少规模. 我的程序wo 其他解决方案 我通过添加 将其修复在我的星系联系上 gl.glenableclientstate(gl10.
2 2023-05-11
编程技术问答社区
错误1 libavcodec.so 文件格式不被识别 安卓GL实时壁纸
我正在尝试为Android的Android制作一个实时墙纸,该壁纸位于Android-Asset设备上的.MP4视频(在我使用的示例中,它实际上将文件复制到运行时/无关紧要的SDCARD ) 我找到了这个示例 并使用此 post 我能够获得我的eclipse set与NDK一起建立项目. 使用NDK插件在Eclipse中构建时,我会在问题窗口中获得此错误: Description Resource Path Location Type make: *** [libs/armeabi/libavcodec.so] Error 1 GLWallpaperVideoDemo-master C/C++ Problem make: *** Deleting file `libs/armeabi/libavcodec.so' GLWallpaperVideoDemo-master C/C++ Problem 如果我尝试
2 2023-05-10
编程技术问答社区
安卓实时壁纸-OpenGL vs Canvas
我是一个相当" newb"的Android开发人员,我希望我的第一个项目之一是实时墙纸,但是我矛盾的是我是否应该专注于帆布或OpenGL.我知道我应该首先掌握帆布,因为它更容易使用,但是我更喜欢从我感兴趣的现实世界项目中学习,即使有时会有些倒退. 我以前以非常基本的方式使用了这两种方法,我了解它们的一般概念,但是我不确定它们如何转移到现场壁纸领域.我认为在实时壁纸上不需要OpenGL的全部爆炸速度,因为以最大fps运行它只会降低电池的速度超过了必要,但与此同时,我担心使用帆布会导致滞后和滞后在做更改家庭屏幕之类的事情时. 我一直在倾向于使用OpenGL ES 2.0,既要保持最佳性能,又是因为我对墙纸的最初想法涉及很多我不确定Canvas能够的分层,但是我希望一个经验丰富的开发人员关于使用OpenGL所涉及的所有额外工作的意见(尤其是与我所读的现场壁纸有关)是值得的. 解决方案 如果您只需绘制画布即可逃脱(例如,在SDK中的Cube示例),那么工作要少得多.由于动画的
6 2023-05-10
编程技术问答社区
安卓LiveWallpaper:在通知栏下面开始渲染
我正在用libgdx做一个Android LiveWallpaper,我希望我的应用程序开始在通知栏下渲染,而不是在其下方渲染. 在图片中:左我得到的是我想要的.有建议吗?谢谢 解决方案 您可以使用以下方式: Android Statusbar的高度 只是在它下面画.如果您使用的是基于Worldunit的绘图(不是基于像素),则可以使用以下方式: Gdx.gl.glViewport(x, statusbar.height, width, height); 向您展示此链接的看法:保持黑色边框的方面
2 2023-04-27
编程技术问答社区
java.io.IOException: setDataSource failed.: status=0x80000000
我试图使用媒体播放器在活动中使用媒体播放器播放URL: mediaPlayer = MediaPlayer.create(getApplicationContext(), Uri.parse("http://www.pocketjourney.com/downloads/pj/video/famous.3gp"), holder); 工作正常.我用来将其设置为WallpaperService中的@onSurfaceCreated中的实时壁纸,它给我以下错误log D/MediaPlayer( 4128): create failed: D/MediaPlayer( 4128): java.io.IOException: setDataSource failed.: status=0x80000000 D/MediaPlayer( 4128): at android.media.MediaPlayer._setDataSource(Native Method) D/Me
16 2023-03-24
编程技术问答社区
我的PreferenceActivity没有显示出来,尽管它在我的清单文件中。
所以我正在修改Cube Live壁纸示例.我有一个扩展偏好性的类,并且在清单文件中添加了活动.我不断获得ActivityNotFoundExceptions. 这是我的偏好类: package com.p.t.wallpapers.mywallpaper; import com.p.t.wallpapers.mywallpaper.R; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceActivity; public class MySettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override protected void onCreate(
2 2023-03-18
编程技术问答社区
如何在WallpaperService中设置webview的大小?
我试图将WebView设置为实时壁纸,但是我在尺寸上遇到了问题. 在引擎中,我使用WallPaperService的上下文创建了一个WebView: public WallpaperEngine(Context context) { webView = new WebView(context); ... } 我将其画为墙纸的画布: SurfaceHolder holder = getSurfaceHolder(); Canvas canvas = null; try { canvas = holder.lockCanvas(); if (canvas != null) { webView.draw(canvas); } } finally { if (canvas != null) holder.unlockCanvasAndPost(canvas); } 但是壁纸将为白色,Java
80 2023-03-06
编程技术问答社区
壁纸因error-queueBuffer而崩溃:对SurfaceTexture的缓冲区排队出错
实时壁纸崩溃,代码下方 public void render(){ Canvas canvas = null; try{ canvas = this._surfaceHolder.lockCanvas(null); synchronized (this._surfaceHolder) { this.onDraw(canvas); } }catch(Exception e){ Log.w("Surface holder ", e.toString());} finally{ if(canvas != null){ this._surfaceHolder.unlockCanvasAndPost(canvas); } } } protected void onDraw(Canvas canvas) {
50 2023-03-06
编程技术问答社区
实时壁纸教程
我正在尝试从实时壁纸教程中进行以下操作,我找到了在这里. /** * Do the actual drawing stuff */ private void doDraw(Canvas canvas) { Bitmap b = BitmapFactory.decodeResource(context.getResources(), IMAGES[current]); canvas.drawColor(Color.BLACK); canvas.drawBitmap(b, 0, 0, null); Log.d(TAG, "Drawing finished."); } /** * Update the animation, sprites or whatever. * If there is nothing to animate set the wait * attribute of the thread to true */ private
12 2023-03-06
编程技术问答社区
如何使用摄像机的实时画面作为活动背景?
我正在尝试制作一个应用程序,我需要将相机实时饲料用作背景. (我知道这是一件愚蠢的事情,但无济于事,这是客户的需求). 我尝试使用SurfaceView进行此操作,但到目前为止尚无成功. 到目前为止,我在堆栈溢出上发现的任何内容都更像是一个猜测或方向,但是没有实时示例或代码帮助.如果有人在与像我这样的堆栈溢出用户共享一件代码之前已经这样做的人会很棒. 解决方案 在这里看看: camera.html 您需要制作显示相机预览的活动所需的所有代码. 其他解决方案 package com.example.CameraPreview; import android.content.Context; import android.content.pm.PackageManager; import android.hardware.Camera; import android.util.AttributeSet; import android.util.Log
8 2023-03-06
编程技术问答社区
Android-cam.setPreviewDisplay( holder) 遇到IOError
我试图将相机的图像用作实时壁纸的一部分. 在我声明的引擎中,我有此代码: public class Class extends WallpaperService { Camera cam; @Override public void onCreate() { super.onCreate(); cam = Camera.open(); } //... @Override public Engine onCreateEngine() { return new CubeEngine(cam); } class CubeEngine extends Engine { Camera cam; CubeEngine(Camera cam) { this.cam=c
66 2023-03-06
编程技术问答社区
谷歌开发者控制台显示0个支持的设备
我想在Google Play上发布我的应用程序,但是当我上传.apk文件时,它表明它得到了0个设备的支持.我知道这已经有一些主题,但是我在其中任何一个都没有找到解决方案.在下面,我附上了我的Android清单的源代码.我还想提到我正在使用libgdx进行此应用程序,这是Android Live墙纸.同样,一切在测试设备和仿真器上都可以正常工作.感谢您的回答.
4 2023-03-04
编程技术问答社区
如何使用Java获取当前活动桌面壁纸的路径
我想对主动桌面壁纸进行一些更改,例如添加水印. 为此,我需要获取活动墙纸的路径.添加我可以做的水印. 这可以使用JNA库完成,但是我无法访问文件路径. 解决方案 获得当前桌面壁纸的方法可能会根据操作系统不同,对于Windows 7,可以从以下注册表路径获得 获得 HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper 要读取注册表路径,您可以使用以下问题中描述的方法 使用Java 其他解决方案 AS 低飞行鹈鹕和 ee 说, HKEY_CURRENT_USER\Control Panel\Desktop 包含键壁纸,该壁纸具有指向墙纸的指针.对于命令提示,您可以使用 reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper 获取位置,或将其用于本机Java支持: Runtime.getRuntime().e
12 2023-02-03
编程技术问答社区
实时壁纸得到强制关闭的问题
我正在创建动态壁纸应用程序,它在XHDPI和LDPI设备上完美运行,但在HDPI和MDPI的手机中致力于强行关闭问题. 它在预览屏幕中加载图像,当我们点击"设置壁纸"时,它会崩溃,即使我们从应用程序中更改设置. 以上两个条件使应用程序强制关闭. 看起来像 outofmemoryerror 错误不是一致 这是我的代码: pixeltwo.java public class pix11two extends SurfaceView { private pix11three three; int fps; Bitmap mBitmap; int country_flag; public pix11two(Context context, int fps, int country) { super(context); this.fps = fps; country_flag = country; DisplayMet
26 2023-01-28
编程技术问答社区
在实时墙纸中设置背景位图
我刚开始写一个动态壁纸. 我想做的就是从我的资源中将背景设置为位图.我会在这个之上画出我的动画. 什么是最有效的方法?有没有办法将背景设置为位于动态壁纸的位图?在我绘制我的动画之前,我只需要在每次绘制帆布进入画布中吗? 谢谢, jay 解决方案 这是我找到的. 从Eclipse图形文档: 注意:在每次通过的每次传递中,从steuteholder检索画布,将保留上述画布状态.为了适当地为您的图形设置动画,您必须重新绘制整个表面.例如,您可以通过使用drawColor()填充颜色或使用drawBitmap()设置背景图像来清除画布的先前状态.否则,您将看到先前执行的图纸的痕迹 所以我使用的代码如下: 在oncreate() mbitmapbase = bitmapfactory.decoderesource(getresources(),r.drawable.bidbackground); 在onsurfacechanged()
22 2023-01-28
编程技术问答社区
实时墙纸和扩展背景
我正在尝试创建一个带有动画的动态壁纸,始终居中在当前的主屏页面页面中,而不会丢失扩展背景. 我现在正在做的是绘制我的自定义背景位图,然后绘制一些文本. 这是我的绘制框架方法: final SurfaceHolder holder = getSurfaceHolder(); Canvas canvas = null; try { canvas = holder.lockCanvas(); if (canvas != null) { if(mBackgroundBitmap != null) { canvas.drawBitmap(mBackgroundBitmap, 0, 0, null); } else { canvas.drawColo
12 2023-01-28
编程技术问答社区
安卓图像裁剪和墙纸设置页面
我想实现用户可以在电话桌面上设置自己的照片的实时壁纸. 现在,我已经成功地实现了逻辑,用户可以从Android画廊或相机本身裁剪任何照片. 在实时壁纸设置页面上,我想实现裁剪的照片预览.为此,我实施了SelectImagePreference public class SelectImagePreference extends Preference { public SelectImagePreference(Context context, AttributeSet attributeSet) { this(context, attributeSet, 0); } public SelectImagePreference(Context context, AttributeSet attributeSet, int paramInt) { super(context, attributeSet, paramI
6 2023-01-04
编程技术问答社区
点击设置时,实时墙纸崩溃
当我点击设置... 按钮时,直播墙纸选择器中的按钮就会停止.然后也停止我的活墙纸. 你能帮我吗? wallpaper.xml settings_activity.java package com.chovanec.bubbles; import android.os.Bundle; imp
6 2023-01-04
编程技术问答社区