Android TextView, EditText 속성
<TextView의 SetTextColor에 16진수 색상값 적용하기>
TextView tvTest = (TextView)findViewById(R.id.tvColor);
String strColor = "#444444";
tvTest.setTextColor(Color.parseColor(strColor));
<EditText에 입력 제한 설정하기>
안드로이드에서 EditText에 숫자만 입력해야하거나
또는 문자만 입력해야한다면..
xml의 EditText 속성에서 android:inputType="number"
<EditText
...
android:inputType="number"
... />
이렇게 써주면 된다.
대표적인 것들로는
양수 : number
숫자 : numberSigned
소수점 : numberDecimal
핸드폰번호 : phone
그리고 | 연산자를 통해 두가지 속성을 같이 적용할 수 있음.
http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType
android:inputType
The type of data being placed in a text field, used to help an input method decide how to let the user enter text. The constants here correspond to those defined by InputType
. Generally you can select a single value, though some can be combined together as indicated. Setting this attribute to anything besides none also implies that the text is editable.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
none | 0x00000000 | There is no content type. The text is not editable. |
text | 0x00000001 | Just plain old text. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_NORMAL . |
textCapCharacters | 0x00001001 | Can be combined with text and its variations to request capitalization of all characters. Corresponds toTYPE_TEXT_FLAG_CAP_CHARACTERS . |
textCapWords | 0x00002001 | Can be combined with text and its variations to request capitalization of the first character of every word. Corresponds toTYPE_TEXT_FLAG_CAP_WORDS . |
textCapSentences | 0x00004001 | Can be combined with text and its variations to request capitalization of the first character of every sentence. Corresponds toTYPE_TEXT_FLAG_CAP_SENTENCES . |
textAutoCorrect | 0x00008001 | Can be combined with text and its variations to request auto-correction of text being input. Corresponds toTYPE_TEXT_FLAG_AUTO_CORRECT . |
textAutoComplete | 0x00010001 | Can be combined with text and its variations to specify that this field will be doing its own auto-completion and talking with the input method appropriately. Corresponds to TYPE_TEXT_FLAG_AUTO_COMPLETE . |
textMultiLine | 0x00020001 | Can be combined with text and its variations to allow multiple lines of text in the field. If this flag is not set, the text field will be constrained to a single line. Corresponds to TYPE_TEXT_FLAG_MULTI_LINE . |
textImeMultiLine | 0x00040001 | Can be combined with text and its variations to indicate that though the regular text view should not be multiple lines, the IME should provide multiple lines if it can. Corresponds to TYPE_TEXT_FLAG_IME_MULTI_LINE . |
textNoSuggestions | 0x00080001 | Can be combined with text and its variations to indicate that the IME should not show any dictionary-based word suggestions. Corresponds to TYPE_TEXT_FLAG_NO_SUGGESTIONS . |
textUri | 0x00000011 | Text that will be used as a URI. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_URI . |
textEmailAddress | 0x00000021 | Text that will be used as an e-mail address. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_EMAIL_ADDRESS . |
textEmailSubject | 0x00000031 | Text that is being supplied as the subject of an e-mail. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_EMAIL_SUBJECT . |
textShortMessage | 0x00000041 | Text that is the content of a short message. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_SHORT_MESSAGE . |
textLongMessage | 0x00000051 | Text that is the content of a long message. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_LONG_MESSAGE . |
textPersonName | 0x00000061 | Text that is the name of a person. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PERSON_NAME . |
textPostalAddress | 0x00000071 | Text that is being supplied as a postal mailing address. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_POSTAL_ADDRESS . |
textPassword | 0x00000081 | Text that is a password. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD . |
textVisiblePassword | 0x00000091 | Text that is a password that should be visible. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD . |
textWebEditText | 0x000000a1 | Text that is being supplied as text in a web form. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EDIT_TEXT . |
textFilter | 0x000000b1 | Text that is filtering some other data. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_FILTER . |
textPhonetic | 0x000000c1 | Text that is for phonetic pronunciation, such as a phonetic name field in a contact entry. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PHONETIC . |
textWebEmailAddress | 0x000000d1 | Text that will be used as an e-mail address on a web form. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS . |
textWebPassword | 0x000000e1 | Text that will be used as a password on a web form. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD . |
number | 0x00000002 | A numeric only field. Corresponds to TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL . |
numberSigned | 0x00001002 | Can be combined with number and its other options to allow a signed number. Corresponds to TYPE_CLASS_NUMBER |TYPE_NUMBER_FLAG_SIGNED . |
numberDecimal | 0x00002002 | Can be combined with number and its other options to allow a decimal (fractional) number. Corresponds to TYPE_CLASS_NUMBER |TYPE_NUMBER_FLAG_DECIMAL . |
numberPassword | 0x00000012 | A numeric password field. Corresponds to TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD . |
phone | 0x00000003 | For entering a phone number. Corresponds to TYPE_CLASS_PHONE . |
datetime | 0x00000004 | For entering a date and time. Corresponds to TYPE_CLASS_DATETIME | TYPE_DATETIME_VARIATION_NORMAL . |
date | 0x00000014 | For entering a date. Corresponds to TYPE_CLASS_DATETIME | TYPE_DATETIME_VARIATION_DATE . |
time | 0x00000024 | For entering a time. Corresponds to TYPE_CLASS_DATETIME | TYPE_DATETIME_VARIATION_TIME . |
This corresponds to the global attribute resource symbol inputType
.
Related Methods
<EditText focus 이동, 제거>
제거 : edittext.clearFocus();
임의의 위치로 이동(EditText 엔터키 입력시 포커스 이동) :
EditeText 속성에 아래와 같이 추가 하면
android:nextFocusDown="@+id/next"
엔터키 입력시 @+id/next 로 이동
focus 주기 : edittext.requestFocus()
앱 처음 동작시 EditText focus 제거 : EditText를 포함하고 있는(포함안해도 상관없음) LinearLayout(XML 파일에서)에 아래 속성 추가
android:focusable="true"
android:focusableInTouchMode="true"
위의 옵션은 가장 바깥쪽 엘리먼트인 LinearLayout이 우선적으로 포커스를 받아버림으로써 EditText로 포커스가 가는것을 막는 설정입니다.
원래 LinearLayout은 포커스를 받는 대상이 아니지만 포커스를 받게함과 동시에 LinearLayout은 특성상 포커스를 받아도 티가 나지 않기 때문에 별 문제 없이 사용할 수 있습니다.
만약에 위와 같은 구조로 화면이 구성되지 않아 위의 방법을 구현하기 힘들경우 눈에 보이지 않는 LinearLayout을 하나 추가해 주시면 됩니다.
<EditText 테두리 없애기>
1. android:background="@null"
2. android:background="#00000000"
3. android:background="#aFFFFFFF"
<EditText의 가상키보드에 "다음"키 대신에 "완료"키로 변경하기>
android:imeOptions="actionDone"
단 이경우 이벤트가 OnEditorActionListener로 온다.
<TextView 정렬>
testview 속성에.. android:gravity="right"
http://minilog.tistory.com/162
<EditText 커서 제거>
xml에서 android:cursorVisible="false"
소스에서 edittext.setCursorVisible(false);
<EditText 편집 막기>
android:editable="false"
기타 EditText 속성
http://blog.naver.com/PostView.nhn?blogId=teel80&logNo=60158002977
<EditText 이벤트 막기>
http://stackoverflow.com/questions/3928711/how-to-make-edittext-not-editable
end