我正在尝试使用特定大小的文本字段构建UI。默认的顶部和底部填充会导致问题。
首次尝试使用相对值设置高度时,会显示文本字段,以便内部文本被切断或甚至不可见:Relative Sizing
所以使用非相对高度:
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",
}
});
顶部和底部填充导致文本字段对于所需的UI而言太大。
最后,我找到了一个允许我更改顶部和底部填充的解决方案,它需要更改自定义主题:
<?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>
然而,这种方法导致另一个问题,因为我在另一个问题中询问(显然我不能拥有超过2个链接,因为我没有足够的声誉。但你可以在我看到它问题的历史)
但是UI看起来像我想要的那样:Good UI但请注意UI顶部的额外橙色,即显示的闪屏。
如何以不会导致整个窗口填充的方式更改顶部和底部填充?
任何帮助都将不胜感激。
答案 0 :(得分:0)
在试图找出可能的解决方案之后,我只有两种方法可以做到:
<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>
请注意查看中的 YOUR_REQUIRED_HEIGHT ,这是文字字段所需的高度,并添加 bottom = -5 解决您的问题因为它会将文本字段向下移动 5dp ,这足以隐藏底部文本字段中的额外填充,但请确保已设置 TextField&#39; s backgroundColor =&#34;透明&#34; ,这会使 TextField 下划线隐藏。
您可以像这样使用.js文件:
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();