2016-04-03 26 views
8

Hatırlayabildiğim kadarıyla bu sorunu yaşıyorum. Telefonumdan veya öykünümden gelmiş olabileceğini düşündüm, ancak uygulamanızı yayınladıktan sonra, ekranın alt kısmındaki durum çubuğuna benzeyen bu siyah dikdörtgeni görüyorum.Phonegap Cordova - Tam ekran görüntülendikten sonra altta siyah durum çubuğu

benim config.xml'de bu var sonra bu gerçekleşir

<preference name="android-build-tool"  value="gradle" /> 
<preference name="Fullscreen"    value="true"  /> 
<preference name="Orientation"    value="portrait" /> 

Ekran Görüntüsü:

enter image description here

GÜNCELLEME

MINIMIZE oyununu oynarsam ve sağ arkaya (garip) tıklarsam alt siyah çubuğun kaybolduğunu farkettim.

Yeni bir proje oluşturmayı denedim ve config.xml dosyasında tam ekran tercihini koyduğumda aynı şey gerçekleşir.

Altına üst çubuk transferleri gibi görünüyor> _>

+1

sen cordova sürümleri android sürümleri herhangi çerçeveler vb ayrıntıları verebilir misiniz? – Mark

+0

Hiç bir çözüm buldunuz mu? Bende aynı problem var. – coderama

+0

@coderama Kulağa çılgınca gelebilir, ancak uygun boyutta başlatılan iamges'i ayarlamayı deneyebilir ve iOS – Gandhi

cevap

0

sorun tuval boyutlarını tanımlayan ile olduğunu görünüyor. Bu bir süre önce çözüldü yüzden bu düzelttim ne olmadığından emin değilim:

var c = document.getElementById("canvas1"); 
var ctx = c.getContext("2d"); 
var pixelRatio = window.devicePixelRatio || 1; // get pixel ratio of device 
c.width = window.screen.width * pixelRatio; 
c.height = window.screen.height * pixelRatio; 
c.style.width = window.screen.width + 'px'; 
c.style.height = window.screen.height + 'px'; 

Ayrıca DOM sadece işlemek için gereken alanı dolduracak Varsayılan olarak index.css dosyasını

+0

Bu kod üzerinde ayrıntılı bilgi verir misiniz? Kanvas1 nedir? Görüntülenebilir bilgilerin gösterildiği ilk div? – coderama

+0

"c.getContext bir işlev değil" alıyorum. – coderama

+1

Hayır, bu sadece düz çalışmıyor. – coderama

1

silmeyi deneyin onun içeriği. Bir öğenin ayarlanması height:100%;, üst öğesinin boyuna göre yüksekliğini ayarlıyor. Görünen öğenin ekranın yüksekliği olmasını istiyorsanız, ekranınızın yüksekliği olan height:1vh; öğesini ayarlayabilirsiniz. Bu, bazı beklenmedik kaydırma davranışlarına neden olabilir, bu nedenle başka bir yöntem, html belgesinden başlayarak tüm ana öğeleri height:100%; ayarlamaktır. css :

html, body, ... other parent elements ... { 
    height:100%; 
} 
+0

1vh ekran yüksekliğinin yüzde 1'i anlamına gelir. Tüm ekran yüksekliğine gerçekten uymak için, 100vh olurdu;) – Hezad

1

Sen değişiklikler için ekran/tuval boyutunu yoklamak isteyebilirsiniz.

Bu siyah bant, sistemin üst durum çubuğuyla aynı boyutta olduğu gibi görünüyor; dolayısıyla, durum çubuğunun sistem tarafından kaldırılmasından/hareketlendirilmesinden hemen önce uygulamanızın görünüm boyutunu aldığından şüpheleniyorum.

+0

Ben aynı soruna sahibim, ama sadece bazen oluyor.Bütün gün bu sorunu düzeltmeye çalıştım ve aynı fikirde olduğum için, Android'in çubuğu kaldırmadan önce Cordova olduğunu ve çok küçük bir render tuvali oluşturduğunu söyledi. Bunun için herhangi bir çözüm buldunuz mu? – devjsp

+0

Benim için çalışan bir çözüm buldu, detay için cevabımı gör. – devjsp

2

config.xml numaralı telefonumda aynı sorunu yalnızca <preference name="Fullscreen" value="true" /> kullanarak deneyimledim.

İlk olarak Android durum çubuğunu düşündüm, ancak bu konuyla ilgili bazı araştırmalar yaptım ve şu anda çok güçlü bir insansa sahip oldum, bu sorunun Cordova sarıcısı bitene kadar başka bir Android sistem kullanıcı arabiriminden gelmemesiyle sonuçlandı. sarıcı için yanlış hesaplanmış bir boyut.

uzun bir ara ve ayrıca söz neredeyse herşeyi denedikten sonra, bir eklenti tökezledi: Şimdi confix bu kullanıyorum

https://github.com/mesmotronic/cordova-plugin-fullscreen

.xml

<preference name="Fullscreen" value="true" /> 
<preference name="AndroidLaunchMode" value="singleInstance" /> 
<preference name="DisallowOverscroll" value="true" /> 
<preference name="KeepRunning" value="true" /> 

Ve yöntemin bu doğrudan ilk playe şimdiye kadar Android 6.0, harware navigasyon ve yazılım navigasyon cihazlarıyla 5.0.1 ile test edilmiştir deviceready

if (AndroidFullScreen) { 
    // Extend your app underneath the status bar (Android 4.4+ only) 
    AndroidFullScreen.showUnderStatusBar(); 

    // Extend your app underneath the system UI (Android 4.4+ only) 
    AndroidFullScreen.showUnderSystemUI(); 

    // Hide system UI and keep it hidden (Android 4.4+ only) 
    AndroidFullScreen.immersiveMode(); 
} 

tetiklenir. Belki de sana yardım edebilir.

+0

Tam ekran eklentisi benim için çalıştı, ancak başka bir işlevle 'if (window.AndroidFullScreen) { window.AndroidFullScreen.showSystemUI(); window.AndroidFullScreen.immersiveMode(); } ' Android 4.4.2 – zamuka

1

Sen AndroidManifest.xml için android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" düzeltmeyi uygulamak için cordova kanca kullanabilir veya [email protected] ile başlayan config.xml yılında <edit-config> kullanabilirsiniz:

<widget ... xmlns:android="http://schemas.android.com/apk/res/android"> ... <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity"> <activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> </edit-config> ... </widget>

Kaynak: Cordova fullscreen splash screen on Android still shows title bar

0

Karşılıklı aynı sorun. Benim için çoğunlukla manzara modunda oluyor. Samsung s7 ve samsung tab2 cihazım var. S7 üzerinde , sekme 2 üzerinde bir kez 20 kez olur, her zaman olur. şey

Ben AndroidFullScreen ve Şimdiye kadar her şey tabletin, artık karanlık barda üzerine sabitlenmiştir hile uygulanan (piksel oranı ile korelasyon içinde) screenheight karşı vücut yüksekliğini kontrol ederek yanlış olduğunda ben algılayabilir alt. Ama s7 için hala bu konuya sahibim. S7'nin piksel oranı 4 olan tab2 piksel oranı 1

1

Aynı problem vardı. cordova durum çubuğunu kullanarak benim için sabit eklentisi: config.xml'de tam ekran ayarını kaldırın

cordova plugin add cordova-plugin-statusbar 

yerine eklentisini: http://cordova.apache.org/docs/en/6.x/reference/cordova-plugin-statusbar/index.html#installation

eklentisini yükleyin

<plugin name="cordova-plugin-statusbar" spec="2.2.2" /> 

Çağrısı JavaScript'te durum çubuğunu gizlemek için StatusBar.hide(). Örnek:

$(document).ready(function(){ 
    document.addEventListener("deviceready", function(){ 
     StatusBar.hide(); 
    }, false); 
}); 

Camparison Screenshot - Before and After

+0

jQuery belgesine hazır bit gerekli değil, aksi halde bu benim için iyi çalışıyor. – camomileCase

İlgili konular