안드로이드에서 EditText 의 모양을 바꾸고 싶을 때가 많습니다.
최근의 안드로이드에서는 EditText의 기본적인 모양이 테마에 의해 일반적으로 언더바 형태이죠.
여기서는 약간 코너에 라운드가 있는 사각형의 모양으로 바꿀겁니다.
또한 선택되었을 때 (포커스가 잡혀 있을때) 사각형의 색상도 바꿔줄 것입니다.
(변경전)
(변경후)
1. res/drawable 에 xml 파일 하나 추가
res/drawable 에 EditText의 모양을 지정할 적당한 이름의 xml 파일을 추가합니다.
여기서는 edittext_rounded_corner_rectangle.xml 이라고 하겠습니다.
2. 아래의 샘플과 같은 요령으로, 원하는 형태의 EditText 형태를 작성합니다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 에디트텍스트가 포커스를 받았을때의 모양 및 색상 -->
<item android:state_focused="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#5555FF" />
<corners android:radius="4dp"/>
<solid
android:color="#FFFFFF" />
</shape>
</item>
<-- EditText 가 포커스를 받지 않은 일반 상태일 때의 모양 및 색상 -->
<item android:state_focused="false">
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#EEEEEE" />
<corners android:radius="4dp"/>
<solid
android:color="#FFFFFF" />
</shape>
</item>
</selector>
3. 모양의 변경을 원하는 EditText의 background 속성을 위에서 작성한 xml 이름으로 변경.
<EditText
.
.
.
background="@drawable/edittext_rounded_corner_rectangle"
,
,
,
/>
이제 적용된 것을 볼 수 있을 것입니다.
끝.
(C) 2020 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)
'소프트웨어개발 > Android' 카테고리의 다른 글
NotificationManager 안드로이드 타겟 33 이상 권한 문제 (0) | 2023.01.17 |
---|---|
[안드로이드] 프로젝트 이름 바꾸기 (패키지 이름 변경 포함) (4) | 2019.04.02 |
[안드로이드] java.lang.ClassNotFoundException ad.loadClass 비정상 종료 해결하기 (0) | 2019.03.15 |
안드로이드 스플래시 스크린 만들기 (0) | 2018.11.28 |
안드로이드 액티비티 애니메이션 없애기 (0) | 2018.10.20 |