일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Spring Security
- WebSecurity
- ㅂ
- ㅇㅇㅇㄴㅇ
- Session1이 그 모든 클라이언트의 저올
- 스프링 #스프링 시큐리티 #spring security
- securityconfig
- 스프링시큐리티
- HttpSecurity
- WebConfigurerAdapter
- Today
- Total
다오의 개발일지
레이아웃 본문
ViewGroup
- 다양한 View 에 대한 그룹 관리를 수행하고 스마트폰 화면에 어떻게 보여지는지를 결정
- 계층적 관리 구조를 제공
- 그릇에 해당되는 위젯과 View를 모아서 관리할 수 있는 쟁반 역할
속성 | 기능 |
layout_width | 너비를 조정 match_parent : View가 위치한 상위 레이아웃의 크기에 맞춰 최대한의 크기로 출력 (그릇의 크기에 맞춤) wrap_content : View가 출력하는 내용물의 크기에 맞춰 최소한의 크기로 출력 (내부(text 같은)의 크기에 맞춤) |
layout_height | 높이를 조정 높이를 조정하는 것 제외 위의 width 와 같다 |
layout_margin | View와 형제 View 사이의 간격을 지종 View가 레이아웃에 독립적으로 있을 경우 부모 View 사이의 간격으로 설정 padding과 구분을 이해해야한다. margin은 바깥 여백, padding은 안쪽 여백 |
LinearLayout
- 내부 구성요소를 '선형적'으로 배치하는 ViewGroup
속성 | 기능 |
orientation | 레이아웃 내부에 포함된 View들을 배치하는 '방향'을 지정 vertical은 수직 / horizontal은 수평 기본값은 수평이다. |
baselineAligned | TextView 아래쪽을 기준으로 텍스트 뷰들을 정렬 View들이 수평으로 있어야 속성이 적용됨 기본값은 true이며 자동적으로 정렬됨 |
gravity | View의 안쪽에 배치되는 TextView, ImageView와 같은 내용물의 정렬방식을 결정 그릇 내부에서 출력되는 위치를 결정한다. 총 9개의 방향을 배치할 수 있다. 기준은 좌측상단이다. center_horizontal : 수평방향으로 가운데 배치 center_vertical : 수직방향으로 가운데 배치 center : center-horizontal | center_vertical : 정중앙 배치 fill |
layout_weight | 상위 레이아웃의 영역에서 내부 레이아웃이나 위젯의 영역 할당비율을 지정 1:1:2 비율 <TextView layout_wegiht="1"/> 이 속성은 width, height보다 우선순위에 있어, 위 속성들을 무시한다. |
RelativeLayout
- View들 사이의 상대적인 관계를 이용하여 View의 위치를 지정하고 배치하는 레이아웃
- 먼저 속성에 다른 '누구'를 지칭하기 위한 식별자를 R.java파일에 등록 되어있어야 한다.
- View의 기본위치는 부모 레이아웃의 좌측 상단으로 기본 결정됨
문제점
- 상대적인 위치를 결정하기 위해 다른 View에 종속적일 경우가 발생됨
- LinearLayout과 달리 사용자의 화면에 보이는 View의 순서와 레이아웃 XML 상의 View의 정의 순서가 다룰 수 있음
- View끼리의 관계를 정의하다 보면, 대체되는 배치를 찾기 어렵거나 유지 보수에 어려움이 발생할 수 있음
- 원래 기준이 되는 View가 삭제되거나 위치를 이동하게 되면, 종속되는 View는 위치를 결정할 수 없음
AbsoluteLayout
- 절대적인 위치 지정이 가능한 레이아웃
- 절대좌표를 지정한다, 기본값은 좌측상단에 배치된다.
layout_x
layout_y
FrameLayout
- 자기 View의 위치를 지정하는 배치 규칙이 따로 없고, 모든 자식 View가 FrameLayout의 좌측상단에 나타나는 레이아웃이다.
- 자식 View가 두 개 이상일 때는 추가된 순서대로 "겹쳐서" 표시
- 구성되는 순서에 따라 위로 겹쳐지는 형태를 가지기 때문에, visibility 속성을 적절히 사용해주어야한다
TableLayout
- 표 형태로 자식 View를 배치하는 레이아웃
- TableRow 객체 하나가 하나의 행에 해당된다. 내부는 여러개의 열로 구성되며, 하나의 열을 '셀' 이라고 부른다.
속성 | 기능 |
shrinkColumns | 특정 열의 크기를 축소한다. 축소하고자 하는 열의 숫자를 입력한다. 0부터 시작 |
stretchColumns | 특정 열의 크기를 확장한다. 확장하고자 하는 열의 숫자를 입력한다. 0부터 시작 |
- 그릇의 크기를 줄이는것이다.
레이아웃 중첩
- View로부터 파생된 모든 ViewGroup과 View를 레이아웃 안에 포함할 수 있음
- ViewGroup에 다른 View들을 중첩하여 배치할 수도 있다
- 레이아웃 중첩은 유지보수, 가독성을 향상 시킨다.
LinearLayout 내부에 View들과 TableLayout 그리고 LinearLayout도 중복 배치가능
실행 중 자바코드로 동적 속성 바꾸기
TextView 속성 변경 (MainActivity.java)
setText, setTextSize, setColor 등
ImageView
setColorFilter : 색상변경
onCreate 메서드 중
findViewById(R.id.buttonid).setOnClickListener(new View.OnClickListener){
public void onClick(View v){
...변경을 위한 View 호출
view.setXXX();
}
'모바일 > 안드로이드' 카테고리의 다른 글
이벤트 처리 (0) | 2025.02.28 |
---|---|
도형 및 소리 출력 (0) | 2025.02.27 |
사용자 인터페이스를 위한 위젯 (0) | 2025.02.26 |
문자 및 이미지 출력을 위한 위젯, 속성 (0) | 2025.02.25 |
안드로이드 View (0) | 2025.02.24 |