[Android-Native] Basic widget, Drawable

미숙한 초보 코딩.Js·2020년 12월 13일

JavaAndroid

목록 보기
4/4

TextView

  • 텍스트 뷰에서 text 속성 값을 직접 넣는 방법도 있지만, app/res/values 폴더에 strings.xml에 작성할 수있습니다.
  • 해당 폴더를 이용해 다국어에 사용할 수 있습니다.
    • values-en, values-ko 로 등록해 strings.xml을 각각 만든뒤 등록하면 단말의 설정에 따라 자동으로 표시 됩니다.

lineSpacingMultiplier

  • 줄간격을 기본 줄 간격의 배수로 설정합니다.

lineSpacingExtra

  • 줄간격의 여유 값으로 설정할때 사용합니다.

textColor

  • 텍스트 속성은 RGB로 표현해서 합니다. (#AARRGGBB, Alpha,Red,Green,Blue) 입니다.
    • Alpha는 투명도 입니다. FF는 투명하지않음, 00 투명함, 88 반투명

textSize

  • 폰트는 sp를 권장합니다.

textStyle

  • 스타일 속성엔 normal, bold, italic, bolditalic 이 있습니다.

typeFace

  • 텍스트뷰에서 표시하는 문자열의 폰트를 설정합니다.
  • normal, sans, serif, monospace 존재.

maxLines

  • 텍스트뷰에서 표시하는 문자열의 최대 줄 수를 설정함.

Button

  • 버튼은 사용ㅈ가 클릭하면 클릭에 대한 반응을 하는 위젯입니다.(텍스트 뷰를 상속하여 정의되어있음)
  • 버튼의 속성에 체크박스, 라디오 버튼도 가지고 있습니다.
    • 체크 박스와 라디오 버튼은 단순히 클릭 이벤트만 처리하는 것이 아니라 상태 값을 저장하고 선택/해제 상태를 표시할 수 있습니다. 해당 작업이 가능한것은 CompoundButton 클래스가 정의되어있기 때문입니다.
    • isChecked() 선택 되었는지, setChecked() 체크 상태 지정 메서드, toggle() 이 있습니다.
    • 버튼의 상태가 바뀌는 것을 알고 싶을땐 onCheckedChanged(CompoundButton buttonView, boolean isChecked)

EditText

  • 입력상자의 역할을 하는 에디트텍스트는 사용자에게 값을 입력받을때 사용.
  • 입력하려고 커슬ㄹ 옮기면 키패드가 나옵니다.(한글,영문,숫자 등 문자유형 선택가능)

이미지뷰와 이미지 버튼

  • 이미지 뷰와 이미지 버튼을 나타내려면 /app/res/drawable 폴더에 저장한 이미지를 넣은후 src속성을 통해 가져옵니다.

maxWidth,maxHeight

  • 두 속성은 이미지가 표시되는 최대 폭,높이 설정.(설정 안하면 원본 크기가 보입니다)

tint

  • 이미지 뷰에 보이는 이미지 색상을 설정 가능.
  • 색상은 #ARGB 로 표현.

scaleType

  • 이미지뷰의 크기에 맞게 원본 이미지의 크기르 ㄹ자동으로 늘리거나 줄여서 보여줄때 사용합니다.
  • 속성에는 fitXY, centerCrop,centerInside등 이미지 변환 알고리즘이 적용된 정의된 값을 사용 가능.

drawable

  • 뷰에 설정할 수 있는 객체이며 그 위에 그래픽을 그릴수 있습니다.
  • BitmapDrawable : 이미지 파일을 보여줄때, 비트맵 그래픽 파일(png,jpg,gif...)을 사용.
  • StateListDrawable : 상태별로 다른 비트맵 그래픽 참조.
  • TransitionDrawable : 두 개의 드로어블을 서로 전환 가능.
  • ShapeDrawable : 색상과 그라데이션을 포함하여 도형 모양 정의가능.
  • InsetDrawable : 지정된 거리만큼 다른 드로어블을 들어서 보여줌.
  • ClipDrawable : 레벨 값을 기준으로 다른 드로어블을 크리핑가능.
  • ScaleDrawable : 레벨 값을 기준으로 다른 드로어블의 크기 변경 가능.

StateListDrawable

  • 자주 쓰이는 Drawable
  • item 속성으로 state_~ (~ : state,focus ...)등 속성을 이용해서 상태를 사용함.
    • ex ) state_pressed="true" 의 이미지와 아닌 이미지를 눌렸을때 아닐때를 나타냄.

ShapeDrawalbe

  • 자주 쓰이는 Drawable
  • shape 태그를 사용해서 사각형, 타원등을 그릴 수있다.
    • shape 태그 안에 gradient 를 사용하면 그라데이션 효과 가능. (statColor:시작부분, centerColor: 중간색, endColor: 하단색
    • corners 태그를 사용해 모서리 round 가능.
  • size 태그를 사용해 width,height 설정가능
  • stroke 를 사용해서 테두리 굵기와 색상 설정 가능.
  • solid 를 사용해 도형 안쪽을 채울때 사용
  • padding 를 사용해 공간 확장/축소 가능.

layer-list 태그

  • xml 파일에 여러 개의 그래픽을 넣을수있음.
  • layer-list 태그에 여러개의 item 태그 사용가능.

drawable 파일구조

  • 안드로이드는 화면의 해상도에 따라 서로 다른 크기의 이미지 로딩 가능.
  • 초고해상도 : /app/res/drawable-xhdpi
  • 고해상도 : /app/res/drawable-hdpi
  • 중간해상도 : /app/res/drawable-mdpi
  • 저해상도 : /app/res/drawable-ldpi
profile
힘들땐 블로그 하나더 적자!!![ Suyang ]

0개의 댓글