嗨我有一个带提示的编辑文本,我将提示作为中间使用android:gravity:"center".当我从edittext中开始输入时,键入从中间开始,如何使键入从leftcorner开始,同时仍然提示中心
<EditText
android:id="@+id/edittext"
android:layout_width="230dp"
android:layout_height="110dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/imageView1"
android:layout_marginLeft="5dp"
android:layout_marginTop="33dp"
android:layout_toLeftOf="@+id/relativeLayout1"
android:background="@drawable/roundcorners"
android:ems="10"
android:gravity="center_horizontal"
android:hint="@string/fbhint"
android:lines="6"
android:paddingRight="5dp"
android:textSize="14sp"
android:windowSoftInputMode="stateHidden" />
Run Code Online (Sandbox Code Playgroud)
use*_*372 24
我认为这不是"开箱即用"的可能,但您可以通过编程方式进行:
yourEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 0){
// position the text type in the left top corner
yourEditText.setGravity(Gravity.LEFT | Gravity.TOP);
}else{
// no text entered. Center the hint text.
yourEditText.setGravity(Gravity.CENTER);
}
}
}
Run Code Online (Sandbox Code Playgroud)
use*_*305 16
默认情况下,android EditText具有中心重力.做吧android:gravity="top|left"
此外,没有任何特殊属性可以在中心和文本中进行提示.两者都遵循相同的引力属性.
Android提示只是用于标签的东西,用户必须开始输入字符.