Notice
Recent Posts
Recent Comments
Link
관리 메뉴

브래의 슬기로운 코딩 생활

안드로이드 프로그래밍 3주차 정리 - 기본 위젯 본문

3-1/안드로이드 프로그래밍

안드로이드 프로그래밍 3주차 정리 - 기본 위젯

김브래 2024. 3. 20. 00:27

뷰와 뷰그룹


id 속성

▪ id 속성은 모든 위젯의 아이디를 나타냄
▪ Java 코드에서 위젯에 접근할 때 id 속성에 지정한 아이디 사용
▪ id 속성은 위젯에 아이디를 새로 부여하는 개념이므로 “@+id/” 형식으로 지정
▪ / 다음에는 새로 지정할 id를 적음
→ android:id=“@+id/btn1”의 의미 : 버튼 위젯의 아이디를 btn1로 부여한 것

id 속성의 지정 유/무

▪ Button, RadioButton, CheckBox 등의 위젯은 일반적으로 클릭 또는 터치했을 때

어떤 동작을 하기 위한 것이므로 id 속성을 지정함


▪ 하지만 클릭이나 터치를 해도 아무 동작이 필요 없는 텍스트뷰, 이미지뷰 등은
굳이 id 속성을 지정하지 않아도 괜찮음

 

 layout_width, layout_height 속성

▪ match_parent : 자신의 부모(대개는 레이아웃)에 폭이나 높이를 맞춤
▪ wrap_content : 자신의 폭이나 높이를 자신 안의 글자가 들어갈 정도로만 설정

background 속성

▪ background 속성은 위젯의 색상을 주로 #RRGGBB 값으로 지정
▪ 각 값은 빨간색, 초록색, 파란색을 의미함
▪ RR, GG, BB의 위치는 16진수 00~FF로 표현할 수 있음

padding 속성

▪ padding은 위젯의 경계선으로부터 위젯 안의 요소가 떨어지도록 설정

layout_margin 속성

▪ 위젯과 위젯 사이에 여유를 두고 싶다면 layout_margin 속성을 사용

visibility 속성

▪ visibility 속성은 위젯을 보일 것인지 여부를 결정
▪ 디폴트인 visible은 보이는 상태, invisible과 gone은 안 보이는 상태


▪ invisible : 보이지 않을 뿐 원래의 자리를 계속 유지함
▪ gone : 보이지 않으며 자리까지 없어짐

enabled, clickable 속성

▪ enabled : 위젯의 동작 여부
▪ clickable : 클릭이나 터치가 가능하도록 함
▪ true와 false로 지정(디폴트 : true)
▪ XML 보다 Java 코드에서 주로 사용함

rotation 속성

▪ rotation은 위젯을 회전시켜서 출력
▪ 값은 각도로 지정


텍스트뷰


텍스트뷰의 속성

▪ text : 텍스트뷰에 나타나는 문자열 표현
▪ textColor : 글자의 색상을 지정, #RRGGBB나 #AARRGGBB 형식
▪ textSize : 글자의 크기를 dp, px, in, mm, sp 단위로 지정
▪ typeface : 글자의 글꼴을 지정

-  값으로 sans, serif, monospace 설정, 디폴트는 normal


▪ textStyle : 글자의 스타일을 지정

- 값으로 bold, italic, bold|italic을 설정, 디폴트는 normal


▪ singleLine : 글이 길어 줄이 넘어갈 경우 강제로 한 줄만 출력하고 문자열의 맨 뒤에 ‘...’를 표시

- 값으로 true와 false를 설정할 수 있으며 디폴트는 false

 


많이 사용되는 View 클래스 또는 TextView 클래스의 XML 속성과 메소드


버튼과 에디트텍스트


버튼을 클릭했을 때 동작하는 Java 코드 3단계

① 버튼 변수 선언
• Button mybutton;

 

② 변수에 버튼 위젯 대입
• mybutton = (Button) findViewById(R.id.button1);

 

③ 버튼을 클릭할 때 동작하는 클래스 정의
• mybutton.setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
// 동작 내용을 이 부분에 코딩
}
});

 

에디트텍스트의 값을 가져오는 Java코드 3단계

① 에디트텍스트 변수 선언
• EditText myEdit;

 

② 변수에 에디트텍스트 위젯 대입
• myEdit = (EditText) findViewById(R.id.edittext1);

 

③ 에디트텍스트에 입력된 값 가져오기 → 주로 버튼 클릭 이벤트 리스너 안에 삽입
• String myStr = myEdit.getText().toString();


컴파운드버튼


체크박스

▪ 체크할 때마다 상태가 체크, 언체크로 변경
▪ 여러 개의 체크박스가 있어도 서로 독립적으로 동작. 따라서 여러 개를 동시에 체크할 수 있음

체크박스에서 체크와 언체크가 바뀔 때 Java 처리

▪ 버튼 클릭과 절차가 거의 동일함

 

① 체크박스 변수 선언
• CheckBox mycheck;

 

② 변수에 체크박스 위젯 대입
• mycheck = (CheckBox) findViewById(R.id.android);

 

③ 체크박스가 변경될 때 동작하는 클래스 정의
• mycheck.setOnCheckedChangeListener(new 
CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
{
// 동작 내용을 이 부분에 코딩
}
});

 

스위치와 토글버튼

▪ 스위치와 토글버튼은 모양만 조금 다를 뿐 용도는 거의 동일함
▪ 스위치의 주 용도는 온/오프 상태 표시임

라디오버튼과 라디오그룹

▪ 라디오버튼 : 여러 개 중 하나만 선택해야 하는 경우에 사용함
▪ 라디오그룹 : 라디오버튼만 여러 개 나열하면 클릭하는 것마다 모두 중복 선택이 되므로 라디오그룹과 함께 사용해야 함


이미지뷰와 이미지버튼


이미지뷰(Image View) 

▪ 그림을 출력하는 위젯으로 그림이 필요하거나 화면을 화려하게 구성할 때 사용함
▪ 이미지뷰에 보여줄 그림 파일은 프로젝트의 [res]-[drawable]에 있어야 함
▪ XML에서 “@drawable/그림 아이디” 형식으로 접근함

 

이미지뷰 및 이미지버튼의 XML 속성

▪ src : 이미지의 경로를 나타냄
▪ maxHeight/maxWidth : 이미지의 크기를 지정
▪ scaleType : 이미지의 확대/축소 방식 지정
▪ 그림 파일이 [res]-[drawable] 폴더에 있어야 사용 가능함