2016-05-17 19 views
0

Ok, Entwerfen von Formularen in Appcelerator Alloy treibt mich ein bisschen verrückt hier. :) Ich verwende den neuesten Build mit dem neuesten SDK auf einem Mac. Unten sind Screenshots der gleichen Form auf beiden Plattformen. Die Form wird unter Verwendung der gleichen grundlegenden Picker Auszeichnungs mit den gleichen Arten .tss: Breite: 45% & Höhe: 40.Appzerator PIcker Sizing & Hint Text Probleme

ANDROID Probleme: Android Form

  1. Date Picker unbrauchbar ist. Normale Pflücker arbeiten wunderbar. Sobald es jedoch auf einen Datumstyp eingestellt ist, bekommst du diese Seltsamkeit.

IOS 9.3 PROBLEME: iOS Form

  1. Keiner der Kommissionierer Typen respektieren die Breiteneinstellung. Die Höhe ist in Ordnung, da jedes Formularelement dieselbe Höhe hat und einheitlich angezeigt wird. Ich habe auch versucht, ein Breitenattribut ohne Erfolg auf die einzige Auswahlspalte anzuwenden.

  2. Hinweis Text und Auswahltext sind beide schwarz. Mit iOS lässt sich die Farbe des Hinweistexts nicht so anpassen, wie ich es verstehe. Wenn die App jedoch anfänglich geladen wird, wird sie mit einem weißen Hintergrund geladen. Wenn ich Alloy stattdessen mit einem schwarzen Bildschirm (oder einem dunklen Thema) laden könnte, vermute ich, dass dieses Problem behoben ist. Das TSS-Styling hat keine Auswirkungen auf den Hintergrundtext von dem, was ich sagen kann, da die Seite bereits zu dem Zeitpunkt geladen ist, an dem das Styling angewendet wird.

Vielen Dank im Voraus für jede Einsicht. Hoffentlich ist es kein Fehler.

EDIT: Hier ist der Code. Es war so einfach, dass ich es ursprünglich weggelassen habe.

<Alloy> 
    <Window class="container"> 
     <View> 
      <Picker id="gender" selectionIndicator="true"> 
       <PickerColumn id="genderPick"> 
        <PickerRow title="Gender"/> 
        <PickerRow title="Male"/> 
        <PickerRow title="Female"/> 
       </PickerColumn> 
      </Picker> 

      <Picker id="birthday" type="Ti.UI.PICKER_TYPE_DATE" /> 
     </View> 
    </Window> 
</Alloy> 

STYLE:

"Picker": { 
    width: "45%", 
    height: 40, 
    backgroundColor: "#222", 
    color: "#fff" 
} 

"PickerColumn": { 
    width: "100%", 
    height: 40, 
    backgroundColor: "#222", 
    color: "#fff" 
} 

Antwort

0

Nach viel Hin und Her, wurde es als ein Fehler entdeckt. Prozentuale Breiten funktionieren nicht für die Auswahl auf iOS, obwohl die Breite einstellbar sein soll. Ich habe es als Fehler im Jira-System eingereicht, so dass dieser Fall geschlossen wird, bis sie behoben sind. :(

0

Ich hatte einige Probleme mit Datum/Zeit-Picker. Nicht genau das gleiche wie du hast (ohne deinen Code gesehen zu haben). Allerdings löste ich es mit dem dialog stattdessen. Vielleicht funktioniert das auch für Sie?

Sie können auch refer to my question with sample code.

/John

+0

Das Problem mit dem Dialog ist, dass es nicht plattformübergreifend ist. Die Lösung für iOS und Android arbeiten müssen, da sie beide wackelig sind. Die Android-Datumsauswahl funktioniert ordnungsgemäß, aber die Sichtbarkeit ist das Problem, wie Sie können sehen Sie vom Bildschirm geschossen. Tatsächlich funktioniert der ganze Grundcode richtig. Sie zeigen einfach wie Mist, wie sie scheinen, das TSS styling auf Ignorieren komplett zu sein, und der Android-Pflücker wird gerade ... geknickt? –

0

Für die hintText Farbe siehe: how to change hintText color in textField Titanium? Sie können entweder eine SearchBar, AttributedString/AttributedHintText (was die bessere Option sein soll) oder erstellen view mit einem textfield und einem label.

+0

Wow, das ist komplex . :) Hilfreich, aber komplex. Danke Miga. –

0

Es ist nicht einfach, eine Lösung für Ihre Probleme ohne Code-Beispiele zu finden. Allerdings könnte die Appcelerator Documentation Lesen kommen hilfreich:

Hinweis: Sie können nur die Spalten-Eigenschaft für die Normal Picker gesetzt.Wenn Sie die Eigenschaft type auf eine andere Eigenschaft als Titanium.UI.PICKER_TYPE_PLAIN setzen, können Sie die Spalten der Auswahl nicht ändern.

Es ist wie ein Kommissionierer vom Typ aussehen DATE_AND_TIME oder DATE nicht die gleichen Möglichkeiten der Anpassung als PLAIN Typ hat.

In Bezug auf Ihr Problem mit hinweisText, Appcelerator HintTextColor für iOS bei ihrer nächsten Version hinzufügen. Bis dahin bevorzuge ich AttibutedStrings/AttributedHintText als Workaround. Für ein Beispiel, wie man das benutzt, sehen Sie sich bitte how to change hintText color in Titanium

+0

Es gibt keine Spalten für die Datumsauswahl. Bearbeitet den ursprünglichen Beitrag mit Code. –