2016-07-20 5 views
0

Ich versuche, eine Benutzeroberfläche mit sehr großen Textfeldern zu erstellen. Die standardmäßige obere und untere Auffüllung verursacht Probleme.Appcelerator: Android TextField unteren und oberen Padding zu groß, nicht in der Lage zu ändern

Zuerst beim Versuch, die Höhe mit einem relativen Wert der Textfeldanzeigen zu setzen, so dass der Text innerhalb entweder abgeschnitten oder gar nicht sichtbar: Relative Sizing

So nicht relative Höhe mit:

var itemValue = Ti.UI.createTextField({ 
    backgroundColor:"#414042", 
    top:"65%", 
    width:"75%", 
    height: Ti.UI.SIZE, 
    color:"#FFF", 
    paddingLeft:"5dp", 
    borderColor:"#F4E09C", 
    borderWidth:"1dp", 
    keyboardType:Ti.UI.KEYBOARD_NUMBERS_PUNCTUATION, 
    font:{ 
     fontSize:varFontSize+"dp", 
    } 
}); 

Durch die obere und untere Auffüllung wird das Textfeld für die gewünschte Benutzeroberfläche zu groß.

Schließlich habe ich eine Lösung gefunden, die ich die obere und die untere Polsterung ändern kann, bedarf es das benutzerdefinierte Design zu ändern:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.NoActionBar" parent="@style/Theme.Titanium"> 
    <!-- Depending on the parent theme, this may be called android:windowActionBar instead of windowActionBar --> 
    <item name="windowActionBar">false</item> 
    <item name="android:paddingBottom">2dp</item> 
    <item name="android:paddingTop">2dp</item> 
    </style> 
</resources> 

Doch dieser Ansatz führt zu einem weiteren Problem, da, dass ich in einem anderes gefragt Frage (anscheinend kann ich nicht mehr als 2 Links haben, weil ich nicht genug Ruf habe. Aber Sie können es in meiner Geschichte der gestellten Fragen sehen)

Aber die UI sieht aus wie ich es will: Good UI aber beachten Sie die Extra Orange oben auf der Benutzeroberfläche, das ist der Begrüßungsbildschirm, der durchschaut.

Wie kann ich die obere und untere Polsterung so ändern, dass das ganze Fenster nicht gepolstert wird?

Jede Hilfe wäre willkommen.

+0

Hier ist ein Link auf meine andere Frage: [link] (http://stackoverflow.com/questions/38469650/appcelerator-android-window-not-full-screen-with- top-and-bottom-2-still-showi/38472330 # 38472330) –

Antwort

0

Nach dem Versuch, die möglichen Lösungen, um herauszufinden, habe ich nur zwei Möglichkeiten, es zu tun:

  1. die Art von UI zu bekommen, was Sie, diese versuchen wollen.

<View width="75%" height="YOUR_REQUIRED_HEIGHT" backgroundColor="#414042" borderWidth="1" borderColor="#F4E09C"> <TextField left="5" right="5" bottom="-5" color="white" backgroundColor="transparent" hintText="Type here" /> </View>

Beachten Sie die YOUR_REQUIRED_HEIGHT in Ansicht, das ist die Höhe, die Sie für ein Text-Feld wollen, und das Hinzufügen von unten = -5 Ihr Problem lösen, wie es den Text bewegen -field down von 5dp was genug ist, um die zusätzliche Polsterung im Textfeld unten zu verbergen, aber stellen Sie sicher, dass Sie die TextFieldsbackgroundColor = "transparent" festgelegt haben was die TextField Unterstreichung verdeckt machen wird.

  1. Entweder verwenden Boxtyp Text-Felder nicht, die sehr viel Tradition heutzutage nicht sind - Natürlich werden Sie es nicht wollen :)

Sie verwenden können. js-Datei wie folgt:

var win = Ti.UI.createWindow({ 
    backgroundColor : "#444", 
}); 

var view = Ti.UI.createView({ 
    width : '75%', 
    height : YOUR_REQUIRED_HEIGHT, 
    backgroundColor : "#414042", 
    borderWidth : 1, 
    borderColor : "#F4E09C" 
}); 

var field = Ti.UI.createTextField({ 
    left : 5, 
    right : 5, 
    bottom : -5, 
    color : "white", 
    backgroundColor : "transparent", 
    hintText : "Type here" 
}); 

view.add(field) 

win.add(view); 

win.open(); 
+0

Können Sie mir das in JS zeigen? Ich verwende überhaupt kein XML und bin daher nicht sicher, wie ich diese Lösung implementieren soll. –

Verwandte Themen