2013-07-11 137 views
2

這是我的EditText:如何將editText光標位置與android的位置分開:hint?

<EditText 
     android:id="@+id/note" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:gravity="center" 
     android:cursorVisible="false" 
     android:inputType="textMultiLine" 
     android:lines="25" 
     android:scrollHorizontally="false" 
     android:hint="Type note here" /> 

提示的位置是在中心,我已經實現了採用了android:比重=「中心」。我希望我的文本從左上角進入,但由於重力原因,這不會發生。我有兩種方法可以做到嗎?

回答

0

當文本輸入使用TextWathcer,然後你TextView的嚴重性更改爲可以監控您的期望之一:

textEdit.addTextChangedListener(new TextWatcher(){ 

    @Override 
    public void afterTextChanged(Editable editable) 
    { 
    } 

    @Override 
    public void beforeTextChanged(CharSequence text, int start, int count, int after) 
    { 

    } 

    @Override 
    public void onTextChanged(CharSequence arg0, int start, int before, int count) 
    { 
     textEdit.setGravitiy("to what ever you want"); 
    } 

}); 

你可能要檢查的EditText是空的或沒有做這些修改之前。

+0

它的工作原理,當editText.setGravity()在onTextChange(完成),而不是beforeTextChanged()..謝謝:實例(不知道它的工作原理完全,沒有測試)! – surbian

0

您可以通過改變點擊時EditText的重力來以編程方式進行此操作。反正

editText = (EditText) findViewById(R.id.note); 
editText.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     v.setGravity(Gravity.LEFT); 
    } 

}); 
+0

試圖像你提到的方式編程改變,但這是行不通的。 – surbian

+0

這適用於'onTouchListener()' – surbian