2013-05-28 11 views
10

In meiner AndroidManifest.xml Datei auswählen ich das Thema einrichten Holo.Light (oder sogar Holo)WebView/Phonegap Wechsel (Drop-Down) Stil

Der Alarm Dialog sein werden entsprechend so ausgelegt zum Holo Theme (entweder Licht oder dunkel), aber die Dropdown-Listen (Auswahl) suchen wie folgt aus:

dropdown design1

gibt es einen Weg, um die Dropdown-Listen wie Google Chrome und anderen Apps, um Stil tun?
Die nativen wählen Sie sieht wie folgt aus:

enter image description here

+0

Couls Sie Ihre Manifest-Datei? Nur um dein Thema zu überprüfen. –

+0

Sicher! http://pastebin.com/FE1iqWTp Lassen Sie mich wissen, wenn Sie noch etwas brauchen –

+0

Ich habe Phonegap nicht verwendet, aber ich frage mich, ob wir eine andere Support-Bibliothek hinzufügen, um dies zu erreichen, wie ich actionbarsherlock für das Theming verwenden Sie versuchen, auf einem Gerät zu erreichen, das den Dropdown-Stil, den ich brauche, nicht nativ unterstützt. – Prateek

Antwort

5

Es gibt keine einfache Möglichkeit, das zu erreichen, zu schaffen. Was Sie tun müssen, ist ein natives Plugin zu erstellen, das ein benutzerdefiniertes Dialogfeld öffnet, wenn Sie auf ein <select> klicken.

Das Dropdown-Menü, das Sie loswerden möchten, ist die Standardansicht für selects in webviews, im Gegensatz zu der zweiten, die in Chrome erstellt wurde. Damit bekommen Sie begonnen:

// erhalten alle Optionen und Speicher in einem Array

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

// Mutter Funktion, die die Optionen erhält und zeigt ein Dialog

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(); 
} 

Stellen Sie sicher, Setzen Sie Ihr Thema auf Holo oder Holo.Light, wie Sie bevorzugen, und tun Sie Ihr bevorzugtes Bit, um einen systemeigenen Code aus der Javascript-Ebene aufzurufen, wenn ein Klick auf ein select Element erfolgt.

+0

Wohin würdest du diesen Code schreiben? Und wie nennt man es? –

1

Sie jQuery Mobile nutzen können und sich ein individuelles Thema erhalten aus aus ihrem Themeroller

or 

Versuchen Sie es mit "android: Thema" als Ihre Mutter Thema als

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

ist es das alte android Thema und gibt den Stil, den Sie

gesucht werden oder Sie können auch speziell

<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 

ändern Sie Ihren eigenen Stil