카테고리 없음

안드로이드 --2. UI 기본

밍래그로프 2021. 3. 4. 10:53

A> view 의 기초 속성

지정한 id 의 값은 R.java 에 등록이 된다. 

xml에서 등록한 id 값은 findViewById(R.id.id이름) 으로 획득 가능하다.

 

1.R.java

R의 내부에 id는 public static final 형태로 저장되어 있다.

 

 

B> 기본속성

visibility : invisible 은 위치는 차지한다. 공간마저 없애려면 gone 으로 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--자바 파일에서 사용 예시
 
public void onClick(View v) {
 
if(v == trueBtn){
 
    targetBtn.setVisibiltiy(View.VISIBLE);
 
}else if(v ==falseBtn){
 
    targetBtn.setVisibiltiy(View.INVISIBLE);
 
}
 
}
cs

 

C> 뷰의 종류

    a>TextView 

       속성 

        -- text =글

        -- typeface = 폰트

        -- autoLink = url 자동 출력

        -- maxLines = 특정 줄만큼 출력

        -- eppipsize =줄임 표시 / 속성값 = end , start middle    

 

  b>ImageView

      속성

        -- src 

        -- adjustViewBounds = 이미지 크기 변경시의 가로세로 비율 유지 여부 / 속성값 = true , false

        -- tint = 이미지 위에 다른 색 입힐 때 

 

c> EditText

    사용자에게 데이터 입력받을때 사용

    개행시 자동으로 입력 창 늘어남

    속성

        -- lines =특정 줄만큼 보이게 할때

        --maxLines = 최대 늘어나는 라인 수 지정, 처음에는 한줄 입력 크기

        -- inputType = 키보드 모드 제어  / 속성값 = phone, number, textEmailaddress 

        -- gravity = 글 위치 조정

 

d> Button

     하위 클래스로 CheckBox, RadioButton, ToggleButton 존재

     CompoundButton 을 상속하는 클래스이다. 

     CompoundButton.OnChekcedChangeListener() 를 반드시 구현해야 한다.

     -- CheckBox 

         속성

          -- isChecked() 체크 되있는지 반환 

        

D> LayOut

1.Linear layout

  -- 속성 

  gravity : 뷰 내용을 뷰 영역 내부에서 어디에 배치할 것인지

  layout_gravity : 뷰를 linear layout 영역에서 어디에 배치할 것인가.

  weight: 비중 

 

2.Relative layout

화면에 배치된 뷰를 기준으로 다른 뷰의 위치를 지정

--속성

   layout_above = "기준 아이디":  기준 뷰의 윗부분에 배치

   layout_below ="기준 아이디":  기준 뷰의 아래에 배치

   layout_toLeftOf = "기준 아이디" :  기준 뷰의 좌측에 배치

   layout_toRightOf  = "기준 아이디":  기준 뷰의 오른쪽에 배치

   

   align : 기준 뷰에 맞춰서 정렬

   alignParentXXX : 부모쪽으로 상하좌우로 밀 수 있는 속성

                         ==부모쪽으로 붙는다.

 

3.Framelayout

뷰들을 하나의 영역에 겹쳐서 구성

   a> Tab 

   xml에선 TabHost 내에서 탭 구성

 

4.tablelayout

xml에서는 

tablelayout 내에서 tablerow 로 행 정의

속성

 android:shrinkColumns=”0,1”: 화면 크기를 벗어나는 경우 인덱스 0, 1의 열 크기를 줄임

 android:stretchColumns=”1": 화면 여백이 발생하는 경우 인덱스 1의 열 크기를 늘림

 android:layout_column=”1”: 뷰의 위치 지정, 인덱스 1의 위치에 뷰가 위치

 android:layout_span=”2”: 두 개의 열을 하나의 뷰가 차지

 

5.gridLayout 

뷰를 테이블 구조로 나열한다.

rowCount 로 행을 조절한다.

속성

 -- orientation: 뷰의 배치 방향을 지정. 기본값은 가로 방향

 -- columnCount: 가로 방향일 때 한 줄에 몇 개의 뷰를 나열할 것인지 지정

 -- rowCount : 세로 방향일 때 한 줄에 몇 개의 뷰를 나열할 것인지 지정

 -- layout_column: 뷰가 위치할 열 인덱스 지정 

 -- layout_row: 뷰가 위치할 행 인덱스 지정

 -- layout_columnSpan: 가로 방향으로 여러 열을 하나의 뷰가 차지하고자 할 때

 -- layout_rowSpan : 세로 방향으로 여러 행을 하나의 뷰가 차지하고자 할 때

 -- layout_gravity : 하나의 열 내에서 뷰의 정렬 위치 지정

 

 

6.constraintLayout

상대적 위치 지정

속성

-- margin  : 여백 조정

-- bias  : 치우침 조정

-- ratio  : view의 크기 비율 조정