2013-05-28 8 views
10

W moim pliku AndroidManifest.xml skonfigurować motywu być Holo.Light (lub nawet Holo)WebView zmiana/PhoneGap wybrać (rozwijana) Styl

oknie dialogowym alertu są zaprojektowane według tematu Holo (albo lekki lub ciemny), ale Dropdowns (wybierz) Poszukujemy tak:

dropdown design1

Czy istnieje sposób na styl z listy rozwijanej, takich jak Google Chrome i innych aplikacjach zrobić?
Rodzime wybierz wygląda następująco:

enter image description here

+0

Couls, do których publikujesz plik manifestu? Wystarczy sprawdzić swój motyw. –

+0

Pewnie! http://pastebin.com/FE1iqWTp Daj mi znać, jeśli potrzebujesz czegoś jeszcze. –

+0

Nie używałem phonegapa, ale zastanawiałem się, czy możemy dodać jakąś inną bibliotekę wsparcia, aby to osiągnąć, tak jakbym użył pasków akcji do tworzenia motywów. próbujesz osiągnąć na urządzeniu, które nie obsługuje natywnie stylu listy rozwijanej, której potrzebuję. – Prateek

Odpowiedz

5

Nie ma łatwego sposobu, aby to osiągnąć. Musisz tam zainstalować natywną wtyczkę, która otworzy niestandardowe okno dialogowe po kliknięciu na <select>.

To menu rozwijane, które chcesz pozbyć, to domyślny widok dla zaznaczeń na stronach internetowych, w przeciwieństwie do drugiego, który został zbudowany w chrome. Aby ułatwić uzyskanie początek:

// uzyskać wszystkie opcje i przechowywać w tablicy

var values = $.map($('#group_select option'), function(e) { return e.value; }); 

// Native funkcję, która pobiera opcje i wyświetli okno dialogowe

function void showDialog(String[] values){ 
    AlertDialog.Builder b = new Builder(this); 
    b.setTitle("Example"); 
    b.setItems(values, new OnClickListener() { 

    @Override 
    public void onClick(DialogInterface dialog, int which) { 

     dialog.dismiss(); 
     switch(which){ 
     case 0: 
      //call some javascript method to use this value here 
      break; 
     case 1: 
      //call some javascript method to use this value here 
      break; 
     } 
    } 

}); 
b.show(); 
} 

Upewnij się, ustaw swój motyw na Holo lub Holo.Light, jak wolisz, i za pomocą swojego ulubionego bitu wywołaj natywny kod z warstwy javascript za każdym razem, gdy klikniesz element select.

+0

Gdzie umieścić ten kod? I jak to nazwać? –

1

Można użyć jQuery Mobile i dostać się niestandardowy motyw z od ich ThemeRoller

or 

Spróbuj użyć "androida: Skórka" jako Twój motyw macierzysty jako

<style name="YourTheme" parent="android:Theme"> 

jest to stary android motyw i nadaje styl szukasz

lub można również specjalnie zmieniać

<item name="spinnerStyle">@android:style/Widget.Spinner</item> 
<item name="spinnerDropDownItemStyle">@android:style/Widget.DropDownItem.Spinner</item> 
<item name="spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item 

stworzyć swój własny styl