我想以rad数据形式居中对齐文本,因为我有这些要求。输入必须居中。
我已经尝试使用css来设置text-align属性。我在文档中查找了一种方法,但没有例子。
<RadDataForm #myLoginForm row="1" col="0" [source]="loginForm" [metadata]="loginFormMetadata">
<!--Email property-->
<TKEntityProperty
tkDataFormProperty
textAlignment="center"
displayName=""
name="email"
hintText="Email"
index="0">
<TKPropertyEditor tkEntityPropertyEditor type="Email"></TKPropertyEditor>
<!--Non empty, and email validators-->
<TKNonEmptyValidator tkEntityPropertyValidators></TKNonEmptyValidator>
<TKEmailValidator tkEntityPropertyValidators></TKEmailValidator>
</TKEntityProperty>
输入始终从左向右开始,而不是光标不移动的居中输入,但文本在输入字符时向左移动。
更新 -
我使用了Manoj的建议,并且能够使用Native API获得居中的文本输入。我想出了如何使用以下链接在我的NS Angular项目中提供本机API:https://docs.nativescript.org/angular/core-concepts/accessing-native-apis-with-javascript#intellisense-and-access-to-the-native-apis-via-typescript
之后,我能够使用事件绑定将RadDataFrom绑定到该函数。
<RadDataForm #myLoginForm row="1" col="0" [source]="loginForm" [metadata]="loginFormMetadata" (editorUpdate)="dfEditorUpdate($event)">
谢谢Manoj!
你必须原生地设计它,参考docs here
export function dfEditorUpdate(args: DataFormEventData) {
const editor = args.editor;
switch (args.propertyName) {
case "albumName":
if (isAndroid) {
editor.getEditorView().setGravity(android.view.Gravity.CENTER_HORIZONTAL);
} else {
editor.editor.textAlignment = NSTextAlignment.Center
}
break;
}
}