2012-07-05 2 views
0

У меня проблема в приложении для мобильного телефона Android, я применил полосу прокрутки в своем приложении, она работает хорошо на ПК, но когда я тестирую на панели прокрутки Android (мобильный телефон), не включается.Полоса прокрутки Android в приложении phonegap?

+0

пожалуйста вставьте ур код – Aamirkhan

ответ

0

код выглядит следующим образом

общественного класса MyActivity расширяет DroidGap {

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    super.loadUrl("file:///android_asset/www/index.html"); 

    // Display vertical scrollbar and hide horizontal scrollBar 
    super.appView.setVerticalScrollBarEnabled(true); 
    super.appView.setHorizontalScrollBarEnabled(false); 
    // set scrollbar style 
    super.appView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
} 

}

1

лично мне не нравится iscroll .. было много проблем, используя это, так что я обнаружил еще одно решение ... вы можете попробовать это:

1.) установить переполнение DIV в авто (или свитка) и установить его высоту .. например

 <div id="wrapper" style="overflow:auto; height: 200px">...content...</div> 

(я обычно вычислить высоту с JavaScript в зависимости от размера экрана пользователя .. Я никогда не ставил только фиксированную высоту для всех устройств, это только для целей этого «демо»)

2.) добавить JavaScript:

 <script> 
function isTouchDevice(){ 
    try{ 
     document.createEvent("TouchEvent"); 
     return true; 
    }catch(e){ 
     return false; 
    } 
} 

function touchScroll(id){ 
    if(isTouchDevice()){ //if touch events exist... 
     var el=document.getElementById(id); 
     var scrollStartPos=0; 

     document.getElementById(id).addEventListener("touchstart", function(event) { 
      scrollStartPos=this.scrollTop+event.touches[0].pageY; 
      event.preventDefault(); 
     },false); 

     document.getElementById(id).addEventListener("touchmove", function(event) { 
      this.scrollTop=scrollStartPos-event.touches[0].pageY; 
      event.preventDefault(); 
     },false); 
} 
} 
</script> 

3.) называют его на странице загрузки .. если вы используете JQuery:

$(document).ready(function() { 
    touchScroll("wrapper"); 
}); 

4.), если вы хотите, чтобы ваши скроллбары быть видимым, просто определить следующие правила CSS:

::-webkit-scrollbar { 
    width: 10px; 
} 

::-webkit-scrollbar-track { 
    border-radius: 10px; 
} 

::-webkit-scrollbar-thumb { 
    border-radius: 10px; 
    background-color: #000; 
} 
+0

Не работает на Android 2.3.x – andreszs

+0

Я не хочу использовать любой 3-й библиотеки партии просто чтобы показать панель прокрутки в приложении Android Phonegap. Спасибо @Asteriskiiii, я просто использовал 4-й шаг (только часть CSS) в своем коде, и теперь показана проклятая полоса прокрутки. – MAC

Смежные вопросы