- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 webview 设置为动态壁纸,但我在调整它的大小时遇到了问题。
在引擎中,我使用 WallpaperService 的上下文创建了一个 webview:
public WallpaperEngine(Context context) {
webView = new WebView(context);
...
}
然后我将它绘制到墙纸的 Canvas 上:
SurfaceHolder holder = getSurfaceHolder();
Canvas canvas = null;
try {
canvas = holder.lockCanvas();
if (canvas != null) {
webView.draw(canvas);
}
} finally {
if (canvas != null)
holder.unlockCanvasAndPost(canvas);
}
但是墙纸将是白色的并且 javascript 报告窗口的大小是 0px。
如何设置WebView的大小?
最佳答案
通过使用 WindowManager、在 LayoutParams 中定义大小并将 WebView 可见性更改为 GONE 解决了这个问题。
webView = new WebView(context);
webView.setVisibility(webView.GONE);
webView.loadUrl("http://example.com/");
wm = (WindowManager)context.getSystemService(WINDOW_SERVICE);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
PixelFormat.TRANSLUCENT
);
params.width = //width
params.height = //height
wm.addView(webView, params);
关于android - 如何在 WallpaperService 中设置 webview 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30556091/
我有一个显示图像的动态壁纸。我在 Activity 中更改了该图像。然后我需要通知动态壁纸,以便它知道重新加载资源。 Intent 似乎是完美、简单的解决方案: Intent intent = new
我试图使带有加速度计的移动位图更平滑,但无意中注意到,当我在 onDraw() 方法末尾调用 invalidate(); 而不是调用它时在 onSensorChanged() 结束时,即使我没有任何类
我正在制作一个简单的 Android 动态壁纸,我正在按照 Hello, Android 的第 12 章作为我的指南。 墙纸服务的基本结构如下所示: public class MyWallpaper
我正在为 Android 开发动态壁纸。代码有效,但我遇到了性能问题。基本上我正在绘制位图并移动它们。有 15 张小图像,效果很好。但是有了 50 张更大的图像,它就开始滞后了。 在我的移动对象中,我
我有一个壁纸类WallpaperService#onCreateEngine(在 init 中,我从 sharedprefs 读取了背景图像和颜色。 现在,如果我启动我的应用程序,我会设置可选择的背景
有什么方法可以从 Activity 直接与 WallpaperService 通信吗? 看起来我无法使用普通服务通信类,因为 onBind 方法在我扩展的 WallpaperService 类中被声明
我正在尝试扩展 android.service.wallpaper.WallpaperService.Engine Kotlin 中的类,但我收到“未解析的引用”错误: 即使上面清楚地导入了它。 有没
长话短说: 我正在使用 WallpaperService 制作动态壁纸,我想从 WebView 绘制它。但是,当我创建 WebView 时,它的宽度和高度为 0,因此除了 WebView 的背景颜色外
我正在尝试将 webview 设置为动态壁纸,但我在调整它的大小时遇到了问题。 在引擎中,我使用 WallpaperService 的上下文创建了一个 webview: public Wallpa
我正在制作动态壁纸。墙纸要求小的可移动图像位于具有透明区域的大的固定图像后面。较小的图像只有在大图像的透明部分时才可见。 到目前为止,我是这样做的: Canvas c = holder.lockCan
我想将文本从 MainActivity 发送到 WallpaperService 类以绘制文本。 主要 Activity 类--> Intent in = new Intent(); in.s
在动态壁纸的开发过程中,我遇到了两个问题,想找到最好的解决方法。 问题#1:WallpaperService.Engine.onSurfaceCreated()和 WallpaperService.E
WallpaperService.Engine.onTouchEvent 在使用动态壁纸时不会收到 ACTION_MOVE 事件,但事件在预览时效果很好。 有没有人遇到过类似的问题并且知道如何解决?
背景 我有一个基于网络的动画,我已经把它变成了一个带有动态壁纸的 Android 应用程序: http://pixfabrik.com/livingworlds/ 我已通过创建 WebView 并定期
我一直在尝试寻找一种方法,将消息从设置 Activity 传递到我的墙纸服务。 在设置中我这样做: Context context = getApplicationContext(); Intent
我正在尝试从自定义 WallpaperService 访问 native 代码中的 Assets 。 native 代码编译并工作,但尝试从传递给 native 函数的 AssetManager 对象
我是一名优秀的程序员,十分优秀!