Я столкнулся с проблемой форматирования простого текстового поля в Titanium Android.
Проблема: я не могу просмотреть введенное значение текстового поля. Если я распечатаю журналы, они будут введены, но не видны. На некоторых устройствах я получаю обрезанный текст.
Ниже мой код:
В моем файле .js у меня есть текстовое поле следующим образом:
var t1 = Titanium.UI.createTextField({
value : Titanium.App.Properties.getString("userID"),
left : 130,
top : 25,
height : 30,
width : 140,
color : 'black',
font : {
fontSize : 12
},
borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED
});
В моем файле tiapp.xml:
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application android:theme="@style/Theme.Titanium"/>
<supports-screens android:anyDensity="false"
android:largeScreens="false"
android:normalScreens="false" android:resizeable="false"
android:smallScreens="false" android:xlargeScreens="false"/>
</manifest>
</android>
Попытка решения: я попробовал решение, указанное в ссылке:
В нем говорится, что вам нужно установить высоту TextField на «Ti.UI.SIZE» + добавить <supports-screens android:anyDensity="true"/>
в ваш файл tiapp.xml + добавить <property name="ti.ui.defaultunit">dp</property>
в ваш файл tiapp.xml.
Если я установлю высоту текстового поля как "Ti.UI.SIZE", он отобразит введенное значение, но высота текстового поля станет слишком большой для экрана, потому что у меня есть несколько текстовых полей на моем конкретном экране, и это выглядит слишком странно с таким ростом.
Любая помощь будет оценена.
Спасибо.
Обновление: проблема наблюдается в ОС Android 4.4.4 и 5.0. В остальных случаях все работает нормально.