Android Programming

[Android Programming] 사용자 인터페이스의 기초

gangintheremark 2021. 10. 15. 01:57
728x90

View 클래스

  • 안드로이드 화면에서 실제로 보여지는 것들은 모두 View 클래스 상속을 받음
  • 뷰 클래스는 다른 말로 위젯
  • 여러 개의 위젯을 담을 수 있는 위젯을 레이아웃
  • 레이아웃은 ViewGroup 클래스 아래 존재


UI를 작성하는 두 가지 방법

UI를 작성하는 절차

  1. 뷰 그룹 생성 : default로 1개의 뷰 그룹이 만들어짐 ( 하나의 화면에 여러 뷰 그룹도 가능 )
  2. 필요한 뷰(위젯)를 적절한 위치에 추가
  3. 액티비티 화면으로 설정

XML로 UI 작성

  • 비주얼 도구에서의 드래그앤드롭을 톨한 UI -> xml 코드 자동 생성

자바 코드를 통한 UI 작성

  • 컨테이너 객체 생성
  • 뷰 객체 생성
  • Setcontentview 지정

View 클래스의 XML 속성

  • id 속성
    • id 속성은 모든 위젯의 아이디를 나타냄
    • Java 코드에서 위젯에 접근할 때 id 속성에 지정한 아이디 사용
    • "@+id/" 형식으로 지정 ( ex. android:id="@+id/name" )
  • layout_width, layout_height 속성
    • match_parent : 자신의 레이아웃에 폭이나 높이를 맞춤
    • wrap_content : 자신의 폭이나 높이를 자신 안의 글자가 들어갈 정도로 설정

match_parent
wrap_content

* 안드로이드에서 크기를 정할 때 사용하는 단위 *
 - px : 화면의 실제 픽셀 
   - 고해상도 폰은 픽셀의 크기가 작고 저해상도 폰은 픽셀의 크기카 크다 
 - dp : 화면의 밀도 -> 스마트폰 스펙에 무관한 형태의 크기 
 - sp : 화면 밀도와 사용자가 지정한 폰트 크기
 - pt, mm, in 
  • background 속성
    • 위젯의 색상을 주로 #RRGGBB 값으로 지정
    • #과 16진수로 RGB 값 표시
  • padding 속성
    • 위젯의 경계선으로부터 위젯 안의 요소가 떨어지도록 설정

padding 속성

  • layout_margin 속성
    • 위젯과 위젯 사이 여유를 두도록 설정
  • visibility 속성
    • 위젯을 보일 것인지 여부 결정
    • visible : 보이는 상태
    • invisible : 안보이는 상태 → 공간만 존재
    • gone : 안보이는 상태 → 공간도 존재 x
  • enabled, clickable 속성
    • enabled : 위젯의 동작 여부
    • clickable : 클릭이나 터치 가능 여부
  • rotation 속성
    • 위젯을 회전시켜 출력
    • 값은 각도(degree)로 지정

텍스트뷰

  • textColor : 글자 색
  • textSize : 글자의 크기
  • typeface : 글자의 글꼴 -> 값으로 sans, serif, monospace, 디폴트는 normal
  • singleLine : 글이 길어 줄이 넘어갈 경우 강제로 한 줄만 출력
    • true 일 경우 '...' 표시, false일 경우 두.세줄 표현

버튼

  • 일반적인 버튼의 XML 코드
<Button
        android:id="@+id/button1" 
        android:text="확인"/>
  • 일반적인 버튼의 Java 코드
Button mybutton; // 버튼 변수 선언 
mybutton = (Button)findViewByld(R.id.button1); // 변수에 버튼 위젯 대입 
mybutton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View V) { 
            //동작할 내용 코딩 
    } 
});

컴파운드 버튼

Button 클래스의 하위 클래서

  • 체크박스 : 선택을 했는가 안했는가 결정
  • 라디오버튼 : 여러 개 중 하나만 선택 →  라디오 그룹과 함께 사용
  • 스위치, 토글버튼

이미지뷰

  • 이미지뷰에 보여줄 그림 파일은 프로젝트의 [res]-[drawable] 에 존재해야함
  • 안드로이드에서는 GIF, PNG, JPG 세 가지 이미지 파일 형식만 제공
  • 이미지뷰 및 이미지 버튼의 XML 속성
    • src : 이미지의 경로
    • maxheight/maxweigh : 이미지의 크기 지정
    • scaleType : 이미지의 확대/축소 ( fitXY, fitstart, fitend ... )
728x90