小编Mik*_*iko的帖子

PhoneGap App上的屏幕分辨率

我正在编写一个Phonegap(3.2)应用程序,我使用HTML5画布,将其全屏显示,整个应用程序UI都在此画布上.

使用三星Galaxy S4(Android 4.3)测试应用程序,该应用程序的屏幕分辨率只有360X640而不是1080X1920,就像我想要的那样.

为了使应用程序使用最大可能的屏幕分辨率,需要做些什么?

我添加了屏幕截图1)//看起来不错但分辨率不好

windowWidth = window.innerWidth; windowHeight = window.innerHeight; 在此输入图像描述

2)//占据屏幕的一小部分,休息是白色的

windowWidth = window.outerWidth; windowHeight = window.outerHeight; 在此输入图像描述

3)//只有一小部分图片可见,就像图像处于1080X1920但屏幕"太小"一样.

windowWidth = screen.width; windowHeight = screen.height; 在此输入图像描述

这是完整的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>PhoneGapTesting</title>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <!-- -->
    <script type="text/javascript">

    var windowWidth;
    var windowHeight;

    var canvasMain;
    var contextMain;

    var backgroundImage;

    $(document).ready(function() {
        windowWidth = window.innerWidth;
        windowHeight = window.innerHeight;
        //windowWidth = window.outerWidth; // Only 'window.innerWidth' + 'window.innerHeight' look OK but not max resolution
        //windowHeight …
Run Code Online (Sandbox Code Playgroud)

html5 canvas resolution webview cordova

12
推荐指数
2
解决办法
2万
查看次数

无法使用Phonegap 2.7在HTML5 Canvas上绘图

我在网上找到了一个简单的抽屉示例.它在PC上工作正常.

当我使用Phonegap 2.7,在我的Galaxy S4(4.2.2)上,使用Android 2.2或4.2.2,对于该项目,它根本不绘制任何东西.

我究竟做错了什么 ?

<html lang="en">
<head>
<meta charset="utf-8" />
<title>Desktops and Tablets</title>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
<script type="text/javascript">
  $(document).ready(function () {
     initialize();
  });

  // works out the X, Y position of the click inside the canvas from the X, Y position on the page
  function getPosition(mouseEvent, sigCanvas) {
     var x, y;
     if (mouseEvent.pageX != undefined && mouseEvent.pageY != undefined) {
        x = mouseEvent.pageX;
        y = mouseEvent.pageY;
     } else {
        x = mouseEvent.clientX + …
Run Code Online (Sandbox Code Playgroud)

html5 android drawing html5-canvas cordova

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

使用MediaPlayer使视频适合TextureView(部分内部(不可见))

我正在使用MediaPlayer在TextureView中播放视频.TextureView具有固定大小,视频大小不同.它播放视频,但问题是视频的一部分在外面,视频没有按比例缩小以适应TextureView.

黑色矩形+照片(视频)是TextureView.红色矩形是实际的视频,我画了它来显示问题.

因此它只显示视频的一部分而不显示其余部分.

我希望所有视频都可见并保持其原始比例.

谢谢.

在此输入图像描述

// The class implements SurfaceTextureListener 

// Set TextureView to MediaPlayer
m_TextureView.setSurfaceTextureListener(this);

@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
    m_MediaPlayer = new MediaPlayer();
    m_MediaPlayer.setSurface(new Surface(surfaceTexture));
}

// Play video
m_MediaPlayer.reset();
m_MediaPlayer.setDataSource(videoFilePath);
m_MediaPlayer.prepare();
m_MediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)

video android scale textureview

7
推荐指数
0
解决办法
3644
查看次数

我可以在Xamarin上使用WPF的全屏用户界面吗?

我正在考虑开始使用Xamarin,是否有可能采用全屏WPF项目并在iOS和Android上使用它?

c# wpf android ios xamarin

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

在Android的TextureView中播放视频后播放视频有问题

使用TextureView 内的MediaPlayer 来播放视频,它可以工作。

当一个视频结束并且应该播放另一个视频时,我会调整 TextureView 的大小以适应即将播放的视频的宽高比(例如 - 从 3:4 到 9:16 等等......)。

问题是,第一个视频结束后,它的最后一帧仍然显示,然后调整了TextureView的大小,第一个视频的最后一帧仍然保留了一瞬间,但现在宽高比很差,第二个视频播放得很好。

显示(尺寸 X 尺寸)矩形的视频图像:

图片1:视频1,(3:4):

在此输入图像描述

Image2:视频 1,这里我们位于 2 个视频之间,视频 1 的最后一帧,调整大小后现在位于 (9:16),但矩形看起来很糟糕。下图瞬间显示:

在此输入图像描述

图片 3:视频 2,(9:16),播放良好,但在显示图片 2 片刻后:

在此输入图像描述

所使用的代码没有什么特别的,以下是其中的一些部分:

// To init the TextureView and MediaPlayer:

public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
    m_MediaPlayer = new MediaPlayer();
    m_Surface = new Surface(surfaceTexture);
    m_MediaPlayer.setSurface(m_Surface);
}

m_TextureView.setSurfaceTextureListener(this);

// To Resize:
LayoutParams layoutParams = new FrameLayout.LayoutParams(newTVWidth, newTVHeight);
layoutParams.gravity = Gravity.CENTER;
m_TextureView.setLayoutParams(layoutParams);

// To play:
m_MediaPlayer.reset();
m_MediaPlayer.setDataSource(videoFilePath);
m_MediaPlayer.prepare();
// <--- …
Run Code Online (Sandbox Code Playgroud)

video android playback android-mediaplayer textureview

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