검색결과 리스트
글
텍스트 뷰는 버튼과 에디트 텍스트의 상위 계층이다.
버튼과 에디트 텍스트는 이를 상속받아서 그 기능을 쓰기 때문에 거의 동일한 속성들을 이용 할 수 있다.
각 속성에서 보면 에디트 텍스트에는 scrollHorizontally 라는 속성이 있다. 이것은 문자열이 가로 스크롤을 넘어 입력을 받더라도 문자열을 계속 입력 할 수 있고 엔터 키를 누르면 강제로 개행이 바뀐다. 하지만 singleLine 속성을 주면 개행이 되지 않는다.
Hint는 배경에 이 컴포넌트가 어떤 동작을 하는 것인지 예시를 적어 줄 수도 있게 되어 있다. 마치 백그라운드 처럼 나타난다.
또한 selectAllOnFocus 속성을 지정하면 문자열 전체를 선택하면서 캐럿은 맨 마지막에 위치 한다.
cursorVisible은 편집 중인 문자열의 위치를 보이거나 숨겨준다.
autoLink는 | 를 통하여 여러가지 링크를 같이 한다. 그 종류는 다음과 같다.
none - 링크 지원하지 않음
email - 이메일 주소
map - 지도 주소
web - 웹 주소
phone - 전화번호
all - 모든 패턴 인식
Editable 을 이용하면 문자열 편집이 가능하다.
Editable insert(int index, CharSequence text) 경우는 어디 위치에 text를 삽입하라
Editable delete(int index, int endIndex) 경우는 어디 위치에서 endIndex까지 문자열을 삭제하라
Editable append(char text) 경우는 맨 마지막에 text를 붙여라
void clear() 경우는 문자열 clear
Editable replace(int startIndex, int endIndex, CharSequence text) 경우는 어디 위치에서 어디 위치까지 문자열 변경하라
TextWatcher 를 이용하면 입력되는 문자의 변경을 감지 할 수 있다.
단 android.text.*; 을 import 시켜야 한다.
다음은 그 예제 이다.
TextView view;
EditText edit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
view = (TextView)findViewById(R.id.view);
edit = (EditText)findViewById(R.id.edit);
edit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(3)});
edit.addTextChangedListener(watcher);
}
TextWatcher watcher = 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){
view.setText("echo : " + s);
}
};
위에서 보면 after, before, on 으로 변경 후, 변경 전, 변경 중 상태에 대한 이벤트라는 것을 알 수가 있다.
또한 setFilters를 이용하여 입력하는 문자열의 길이를 제한 시킬 수도 있다.
버튼과 에디트 텍스트는 이를 상속받아서 그 기능을 쓰기 때문에 거의 동일한 속성들을 이용 할 수 있다.
각 속성에서 보면 에디트 텍스트에는 scrollHorizontally 라는 속성이 있다. 이것은 문자열이 가로 스크롤을 넘어 입력을 받더라도 문자열을 계속 입력 할 수 있고 엔터 키를 누르면 강제로 개행이 바뀐다. 하지만 singleLine 속성을 주면 개행이 되지 않는다.
Hint는 배경에 이 컴포넌트가 어떤 동작을 하는 것인지 예시를 적어 줄 수도 있게 되어 있다. 마치 백그라운드 처럼 나타난다.
또한 selectAllOnFocus 속성을 지정하면 문자열 전체를 선택하면서 캐럿은 맨 마지막에 위치 한다.
cursorVisible은 편집 중인 문자열의 위치를 보이거나 숨겨준다.
autoLink는 | 를 통하여 여러가지 링크를 같이 한다. 그 종류는 다음과 같다.
none - 링크 지원하지 않음
email - 이메일 주소
map - 지도 주소
web - 웹 주소
phone - 전화번호
all - 모든 패턴 인식
Editable 을 이용하면 문자열 편집이 가능하다.
Editable insert(int index, CharSequence text) 경우는 어디 위치에 text를 삽입하라
Editable delete(int index, int endIndex) 경우는 어디 위치에서 endIndex까지 문자열을 삭제하라
Editable append(char text) 경우는 맨 마지막에 text를 붙여라
void clear() 경우는 문자열 clear
Editable replace(int startIndex, int endIndex, CharSequence text) 경우는 어디 위치에서 어디 위치까지 문자열 변경하라
TextWatcher 를 이용하면 입력되는 문자의 변경을 감지 할 수 있다.
단 android.text.*; 을 import 시켜야 한다.
다음은 그 예제 이다.
TextView view;
EditText edit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
view = (TextView)findViewById(R.id.view);
edit = (EditText)findViewById(R.id.edit);
edit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(3)});
edit.addTextChangedListener(watcher);
}
TextWatcher watcher = 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){
view.setText("echo : " + s);
}
};
위에서 보면 after, before, on 으로 변경 후, 변경 전, 변경 중 상태에 대한 이벤트라는 것을 알 수가 있다.
또한 setFilters를 이용하여 입력하는 문자열의 길이를 제한 시킬 수도 있다.
RECENT COMMENT