티스토리 뷰
[ Android / EditText ] Keyboard 이벤트, 타입 변경
참고
: http://caliou.tistory.com/33
:http://www.androidpub.com/1104990
1. 변경 부분
<EditText android:id="@+id/et_search" android:layout_width="match_parent" android:layout_height="40dp" android:layout_margin="10dp" android:textSize="15sp" android:textStyle="bold" android:inputType="none" />
키보드 종류에 따른 수정은 자세하게 나와있는 블로그가 있어 스크랩했습니다.
속성은 세가지, Class, Variation, Flag 세가지가 있고, 각 속성은 중복되어 사용가능 합니다. 중복하여 사용하려면, |로 연결하여 사용합니다.
Class는 숫자, 문자, 비밀번호 등 입력문자의 종류를 지정합니다.
Variation은 Class의 세부적속성이 들어가죠.
Flag는 이보다 더 세부적인 속성으로, 대문자 자동변환 여러줄 입력 등의 동작을 수행한다고 합니다.
코드에서 inputType의 속성을 변경할때에는 setInputType이나, setRawInputType메서드를 호출합니다.
대표적인 몇가지만 정리해 보자면, 다음과 같습니다요,
inputType | 설명 |
none | 편집할 수 없는 문자열 |
Text | 단순 문자열 |
textImeMultiLine | 여러줄 입력 가능한 문자열 |
textPostalAddress | 우편번호 |
textEmailAddress | 이메일 주소 |
textPassword | 비밀번호 |
textVisiblePassword | 비밀번호 이지만 숫자는 보임. |
number | 숫자 |
numberSigned | 숫자와 부호 |
numberDecimal | 숫자와 부호와 소수점 |
phone | 전화번호 |
datetime | 날짜와 시간 |
2. 연결 및 버튼 이벤트 부분
아래의 코드는 위에 설정해놓은 Xml layout 코드를 연결하고 Done 버튼을 눌렀을때 검색이 실행 되도록
제가 작성한 Java 부분 코드입니다.
검색 버튼을 눌렀을 때 처리될 이벤트 리스너는 editText.setOnEditorActionListener 메서드를 활용 하면 됩니다.
이전에 설명한 부분을 참고하여 Custom 하게 코드를 변경 할 경우 키보드 활용은 다양해 질 수 있습니다.
< Java Code >
public class SearchActivity extends Activity implements OnEditorActionListener{ EditText et_search; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); et_search = (EditText)findViewById(R.id.et_search); et_search.setOnEditorActionListener(this); } } @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { // TODO Auto-generated method stub switch (actionId) { case EditorInfo.IME_ACTION_SEARCH: Toast.makeText(getApplicationContext(), "검색", Toast.LENGTH_LONG).show(); v.setText(""); InputMethodManager imm = (InputMethodManager)getSystemService(getApplicationContext().INPUT_METHOD_SERVICE); imm.toggleSoftInputFromWindow(v.getApplicationWindowToken(),InputMethodManager.SHOW_FORCED,0); break; default: return false; } return false; }
'Computer > Android' 카테고리의 다른 글
[Android] ACTIVITY 전환시 액티비티의 History 관련 설정 (0) | 2015.02.25 |
---|---|
[Android] Custom Dialog 만들기 (0) | 2015.02.14 |
안드로이드 치수 크기 사이즈 size (0) | 2014.03.08 |
안드로이드 서비스를 부팅시 시작시키기 (Start Service at Boot Time) (0) | 2014.02.28 |
XML parser (0) | 2014.02.27 |