Layout xml 에서 Edittext와 TextView에 singleLine 속성을 추가 할 경우 줄이 쫙! 그어 진다.
singleLine이 deprecated 되니 그만 써라 라는 경고 메세지 이다.
그럼 singleLine을 대신 해서 어떻게 해야 할까??
구글링을 해보면 singleLine을 대신 해서 maxLines="1"을 쓰면 된다고 한다.
그래서 Edittext에 maxLines="1"을 넣어서 테스트 하면
한줄은 맞는데 키보드에서 개행 버튼을 누르면 개행이 되어 버린다.
이전에 쓴 글이 안보이는 현상이 일어 난다.
머지???
## 테스트 결과 아래와 같다.
- Edittext 일 경우
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/ask_email"
android:maxLines="1"
android:inputType="textEmailAddress"
/>
위 소스는 Email을 작성하는 Edittext이다.
maxLines="1"을 들어가 있습니다.
여기에서!! 꼭 inputType을 넣어주세요.
기본이 inputType="text" 입니다.
Email을 작성하는 EditText이므로 textEmailAddress로 셋팅 하였습니다.
그럼 문제 없이 singleLine='true'와 똑같은 동작을 하게 될껍니다.
- TextView일 경우
TextView일 경우는 어떻게 보면 신경을 안써도 되겠지만,
그래도 혹시나 하는 마음에 설명을 드린다면,
TextView에서는 inputType을 할 필요가 없습니다.
키보드를 쓸 일이 없으니깐요^^ 개행을 할 수가 없습니다.
따라서 그냥 maxLines="1"만 해주면 됩니다.
## 참고 사항
혹시 lines와 maxLines에 구분을 어떻게 해야할지 궁금 하신 분을 위해 간단하게 설명 드릴께요.
lines은 기본 라인을 정하는 겁니다.
즉 lines="3"일 경우 레이아웃이 3줄을 무조건 먹는 거죠.
--------------
--------------
--------------
그래서 4줄로 넘어갈 경우는 Scroll로 봐야 하는 상태가 되는 거죠.
하지만, maxLines="3"일 경우는 레이아웃을 3줄로 제한 한다는 겁니다.
----------------
----------------
-------------- ...
위와 같이 ellipesize="end" 로 놓았으면 '...'으로 바뀌는 거죠.
참고하세요.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] ONE store 최신 In-App 결제 모듈 v16.02.00 사용시 (0) | 2016.11.18 |
---|---|
[Android] LinearLayout 에서 layout_weight를 사용할 때 (0) | 2016.11.18 |
[Android] ScrollView 안에 Multi Edittext or TextView (0) | 2016.11.17 |
[Android] 현재 Android 최신 버전 상태 (2016.10.25) (6) | 2016.10.26 |
[Android] Intent.FLAG_ACTIVITY_NO_HISTORY (0) | 2016.10.21 |