# ConstraintLayout

18개의 포스트
post-thumbnail

Layout_05.ConstraintLayout

•androidx 에서 제공하는 레이아웃

2023년 6월 11일
·
0개의 댓글
·

ConstraintLayout

ConstraintLayout 이란? 안드로이드 플랫폼이 아니라 androidx 에서 제공하는 라이브러리이다. 우선, ConstraintLayout 을 사용하려면 build.gradle에 아래 코드를 추가해야 한다. ConstraintLayout 내부의 자식 뷰의 상하좌우에 제약을 걸어 위치를 설정할 수 있다. 제약의 종류 | 속성 | 의미 | | :- | :- | |layoutconstraintLefttoLeftOf = “@id/기준id” | 뷰의 왼쪽을 대상 뷰의 왼쪽에 맞춤.| |layoutconstraintLefttoRightOf = “@id/기준id” | 뷰의 왼쪽을 대상 뷰의 오른쪽에 맞춤.| | layoutconstraintRighttoLeftOf = “@id/

2023년 4월 18일
·
0개의 댓글
·

[Kotlin] ConstraintLayout

ConstraintLayout LinearLayount에 이어서 이번에는 ConstraintLayout에 대해 글을 작성해 보겠다. Flutter에도 Constraints 위젯이 있는데, 같은 기능이라고 보면된다. 저는 Constraints 관련 위젯은 잘 사용하지 않습니다. Native 앱 개발시에도 Flutter 개발 정도 까지는 아니지만, 안드로이드 디바이스의 크기가 제각각이기 때문에 뷰의 사이즈를 잘 만들어 주어야 한다. Flutter에서는 IOS까지 사이즈를 고려해야 하기에 주로 앱 개발시 전역에서 사용할 사이즈 관련 로직을 만들어서 앱 실행시 디바이스 사이즈에 맞게 비율로 계산되는 로직을 넣어서 사용을 해왔다. 현재 안드로이드 디바이스는 최근 리사이즈 디바이스가 나오면서 조금 신경쓸게 많아지긴 했는데, IOS는 작은건 진짜 작다.. SE 1세대는 정말 작아요.. ㅠㅠ 서론이 길었는데, ConstraintLayout의 이름에서 알 수 있듯이 사이즈의 제약 조건을

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[안드로이드 과제 no.3] Android Studio - Service란?

서비스란? 앱의 4대 구성요소 중 하나이다. 액티비티 서비스 브로트캐스트리시버 콘텐츠제공자 좀 더 알아듣기 쉽게 예시를 들어서 설명하면 지금 내가 Youtube Music에 들어가서 음악을 듣고 있다고 하자. 나는 음악을 들으면서 핸드폰으로 공부를 하고 싶다. 그러면 음악재생화면(Activity)에서 나가서 네이버나 구글로 공부를 해야 한다. 이때, 음악재생화면을 나가도 음악은 재생되는데, 이를 서비스라고 한다. 말 그대로, 사용자의 편의를 위해서 제공되기 때문에 서비스라고 이름지었다고 이해하면 편할 것이다. 여기까지 이해했으면 절반은...다한 것이다. 이제 서비스의 작동방식을 알아보자. OnStartService() 함수로 서비스의 시작을 요청하면 서비스가 실행된다. O

2022년 12월 16일
·
0개의 댓글
·

ConstraintLayout

이번 벨로그에서는 실습이 아닌 ConstraintLayout에 대하여 다뤄보려 한다. ConstraintLayout은 레이아웃 XML 파일을 만들면 기본으로 작성되어 있으며, 개발자가 꼭 이용해야 하는 것은 아니다. ConstraintLayout ConstraintLayout은 RelativeLayout과 상당히 유사하다. ◼︎ 상대적 위치 지정 RelativeLayout과 마찬가지로 상대 위치에 따라 뷰의 배치를 제공한다. ▪︎ 가로 축: 특정 뷰를 기준으로 왼쪽(Left), 오른쪽(Right), 시작(start), 끝(end) 상대적인 위치 지정 ▪︎ 세로 축: 특정 뷰를 기준으로 위쪽(Top), 아래쪽(Bottom), 문자열 기준선(BaseLine) 상대적인 위치 지정 ▶︎ 예시를 들어보자. 위의 첫 번째 Button에 id 속성을 지정하였고, 두 번째 Button에는 layoutconstraintLefttoRightOf 속성을 이용하여 첫 번째

2022년 12월 6일
·
0개의 댓글
·
post-thumbnail

Andorid UI - ConstraintLayout

정의 제약을 통해서 뷰를 배치하는 컨테이너 뷰 등장 배경 LinearLayout등장 -> (계층구조 복잡도 증가) -> RelativeLayout등장 -> (muitiDevice 문제) -> ConstraintLayout 등장 특징 RelativeLayout에서 할 수 있는 모든 것이 가능하다. linearLayout과 조합하여 사용할 수 있다. 기능이 많음 가로 축과 세로축에 대한 제약을 설정해야 한다. (하지 않으면 그림과 같이 에러가 발생) 사용법 상대적 위치 배치 (RelativeLayout과 같은 개념) layout_constraint + 제약 ex) layoutconstraintLefttoLeftOf="아이디 명". ![](http

2022년 10월 17일
·
0개의 댓글
·

안드로이드 학습 - Constraint Layout

📚 Constraint Layout 👀 레이아웃이 뭐야? 레이아웃 레이아웃은 앱에서 사용자 인터페이스를 위한 구조(예: Activity)를 정의하는 ViewGroup 객체를 뜻합니다. View 란 사용자가 상호작용할 수 있는 화면이며, View 객체를 위젯이라고 합니다. Layout 클래스는 View 위젯들을 그룹화하여 배치하기 위한 용도로 사용되는 ViewGroup이며, 자체적인 UI 표시 기능이나 사용자 이벤트 처리 기능은 매우 제한적으로 사용됩니다. 👀 Constraint layout이 뭐야? 과거 "UI 구성의 유연함"보다 "배치의 직관성"이 중요한 시기에는 여러 레이아웃이 중첩하여 UI를 구성하였습니다. 하지만 레이아웃을 중첩하여

2022년 3월 29일
·
0개의 댓글
·

# GuideLine

ConstriantLayout으로 화면을 구성하다보면 화면의 정확히 반 부터 시작, 혹은 특정 비율에 따른 시작이나 크기를 주고 싶을 때가 있다. ConstraintLayout을 이용하면 왠만한 상황에 대처하기 쉽지만 화면의 절반부터 시작하려면 비율을 이용하면 좋다. 코틀린에서는 이러한 상황을 위해 가이드라인 뷰를 제공하고있다. 해당 뷰는 비율을 통해 위치를 잡을 수 있으며 가이드라인으로 기준점을 잡은 후 나머지 뷰들의 위치를 정할 수 있다.

2022년 3월 23일
·
0개의 댓글
·
post-thumbnail

Android: Layout

Layout Layout이란? 흔히 레이아웃이라 하면 어떤 요소들을 적재적소에 효율적으로 배치하는 것을 말합니다. 예를 들어 새로 오픈한 마트의 전단지를 보면 마트 이름, 행사 상품, 약도, 주소, 전화번호 등등 다양한 것들이 기재되어 있는데, 보기좋은 형태를 취하고 있습니다. 소비자의 눈에 한눈에 들어오도록 일목요연하게 정리되어 있지요. Application을 제작할 때 사용자가 조작하기 쉽도록 UI를 각 공간에 효율적으로 배치하는 일을 레이아웃이라고 합니다. 레이아웃에는 다양한 종류가 있고, 이 포스팅에서는 6가지 정도에 대해 살펴보려고 합니다. Android의 Layout 우선 안드로이드 개발자 문서에서는 다음과 같이 레이아웃을 정의하고 있습니다. > 레이아웃은 앱에서 사용자 인터페이스를 위한 구조(예: 활동)를 정의합니다. 레이아웃의 모든 요소는 View와 ViewGroup 객체의 계층 구조를 사용하여 빌드됩니다. 일반적으로

2022년 2월 3일
·
0개의 댓글
·
post-thumbnail

한라인에 TextView가 2개 붙어 있을때 앞에 ellipsize 옵션적용

1.문제상황 텍스트뷰의 글자가 길어질 경우에 ellipsize 옵션을 사용하여 글자가 텍스트뷰 영역에 다 노출할 수 없을때 앞/뒤 말줄임 또는 흐르게 할 수 있습니다. 속성 설명 android:fillViewport="true" // 남아있는 공백을 자식 뷰의 높이만큼 채운다 android:maxLines="1" // 출력되는 글자를 1줄로 제한 android:ellipsize="end" // 출력이 제한되면 ...으로 표시 > 한개의 텍스트뷰만 표현할땐 문제가 없지만 2개 이상의 텍스트뷰가 겹쳐있을때는 여러 문제가 발생합니다 다음 그림을 살펴봅시다! 2.해결방법 > ![](https://images.velog.io/images/kbs95123/post/2c8dab0c-7970-44d1

2022년 1월 6일
·
1개의 댓글
·
post-thumbnail

Constraintlayout(제약 레이아웃)

Constraintlayout 을 사용하는 이유?? 장점 1. %로 설정할수 있기 때문에 다이스의 대응이 편함! 2. 1 depth레이아웃, 화면을 그리는 퍼포먼스가 좋다! 단점 기존에 작성된 레이아웃이 리니어와 렐러티브레이아웃이기 때문에 주로 사용되진 않음 디자인에서는 1소스를 주기 때문에 멀티디바이스에서 정상적 표시될거라는 확인할 수가 없음 새로 작성하는 화면 이외에는 기존에 작성된 레이아웃을 사용하기에 사용빈도가 적음! 1. 레이아웃 내의 대상의 배치 어렵게 생각하지말고 위 사진처럼 3가지 기준만 명확하게 이해하면된다 > 3가지 기준 -1. 대상에 근접한면 -2. 붙일 대상의 면 -3. 붙일 대상의 id ![](https://images.velog.io

2022년 1월 4일
·
0개의 댓글
·
post-thumbnail

Layout (What is Layout?)

Layout 레이아웃은 앱에서 사용자 인터페이스를 위한 구조(Activity 등)를 결정. 레이아웃의 모든 요소는 View와 ViewGroup 객체의 계층 구조를 사용하여 빌드된다. View 는 사용자가 보고 상호작용할 수 있는 것. ViewGroup은 View 및 기타 ViewGroup 객체의 레이아웃 구조를 정의하는 보이지 않는 컨테이너 레이아웃을 선언하는 방법 UI 요소를 XML로 선언. Android는 위젯, 레이아웃과 같이 View 클래스와 서브클래스에 상응하는 간단한 XML 문법을 통해 선언한다. Android Studio의 Layout Editor를 사용해서 마우스로 드로그 앤 드롭으로도 빌드할 수 있지만 보통 키보드로 빌드한다. 런타임에 레이아웃 요소 인스턴스화 **직

2021년 9월 29일
·
0개의 댓글
·
post-thumbnail

Layout - ConstraintLayout

- ConstraintLayout Constraint : 제약, 제한, 통제 어떤 Widget(ImageView나 TextView,Button 등)을 쉽게 "통제"할수 있다. 동시에 필수적으로 "제약"을 걸어주어야 한다. ConstraintLayout을 사용하면 복잡한 레이아웃 계층구조를 단순히 구성하여 작성할 수 있다. 자식Veiw 간의 상호관계를 정의할 수 있다. 예) 두 View를 위 아래 기준으로 중앙에 배치하기 등 (아래 읽어보면 앎) ConstraintLayout이 제공하는 "제약(Constraint)"들, 즉, 컨스트레인트레이아웃 속성의 이름은 기본적으로 "layout_constraint"로 시작하며, 바로 뒤에 구체적인 제약 조건이 명시된다. Layout_constraintXXXXXXXXX (XXX: 구체적인 제약 조건) ex) LayoutconstraintLefttoRightof = " ![](https://images.velo

2021년 9월 27일
·
0개의 댓글
·

[Android] ConstraintLayout GuideLine, Barrier

서론 ConstraintLayout 을 사용하면 다양한 기능을 제공해준다는 것을 이미 알고 있었지만, 실제로 GuideLine 과 Barrier 를 사용해보니 정말 유용한 기능이라는 것을 다시 한번 깨닫게 되어 포스팅을 하게 되었다. 본론 GuideLine 과 Barrier 을 효율적으로 사용하기 위해선 이 둘의 차이를 알아야한다. 본격적으로 둘의 차이점을 알아보기에 앞서 GuideLine 은 정적인 선이고, Barrier 은 동적인 선이라는 개념을 인식하고 있자. 먼저 GuideLine 에 대해 알아보자. 필자가 정의한 GuideLine 은 정적인 선으로 dp 값을 정하거나 percentage 를 설정해 고정된 위치에 할당되어 다른 View 들에 대한 기준을 잡아주는 선이라고 이해하면 될 것이다. 필

2021년 8월 31일
·
0개의 댓글
·

[Android] ConstraintLayout Custom View

서론 이번 포스팅에서는 ConstraintLayout 을 root 로 가지고 있는 View 에 대해서 Custom 하는 과정에 대해 살펴보고자 한다. 필자가 이번에 Custom View 를 만들게 된 이유는 ConstraintLayout 안에 무수히 많은 View 들이 존재하지만 View 사이의 규칙이 있을 때 해당 View 들을 하나의 View 로 묶어서 UI 구성을 하면 관리의 편의성을 높일 수 있다는 장점이 있다. (물론 Custom View 가 필요한 목적은 무수히 많을 것이다.) 본론 우선 Custom 하고자 하는 layout xml file 을 생성하고 규칙이 있는 View 들을 배치해야 한다. 단순히 layout file 만 만들면 바로 사용 가능할 것이라고 예상을 했지만, View 를 xml

2021년 8월 31일
·
0개의 댓글
·

[Android] Layout

서론 Android 개발자라면 UI 를 구성할 때 어떤 Layout 을 써야할지 한번쯤 고민하는 시간을 가졌을 것이라고 생각한다. View Rendering 과정의 성능을 최적화 시키기 위해선 ConstraintLayout 을 사용해 View 평탄화 작업을 해야한다는 사실은 알고 있을 것이다. 이번 포스팅에서는 여러 Layout 의 용도와 왜 ConstraintLayout 다른 Layout 보다 더 나은 성능을 제공하는지에 대해 알아보고자 한다. 본론 FrameLayout 아래 Reference 의 FrameLayout Usage 를 먼저 들어가보면 FrameLayout 의 용도를 쉽게 파악할 수 있을 것이라고 생각한다. FrameLayout 은 다른 Layout 과는 달리 View 를 중첩시켜 UI 를 구성하는데 사용된다. Line

2021년 8월 30일
·
0개의 댓글
·
post-thumbnail

[Kotlin]ConstraintLayout

ConstraintLayout의 이해 우선, 설명하기전에 이 단어에 대해서 알아볼 필요가 있습니다! app:layoutconstraintRighttoRightOf=”parent” 이게 과연 무슨뜻일까요? 정답은, button1 right의 constraint를 줄건데, 이건 parent의 right이다! 라는 뜻입니다. 즉, parentlayout 속성의 오른쪽으로 배치한다! 여기에서 좌우일렬로 서로 붙어있는 버튼 2개를 배치하고싶을 땐 어떻게 해야할까요? 하나의 버튼에는 바로 위처럼 right를 주고, 다른 하나의 버튼에는 left를 설정해주면 될까요? 한번 해보겠습니다. ![](https://images.velog.io/images/yunsung_/post/054fdf43-

2021년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Kotlin] 레이아웃

1. 레이아웃 (Layout) 레이아웃은 여러 요소들을 배치할 수 있는 캔버스라고 생각할 수 있을 것 같다. 레이아웃 위에 내가 넣고 싶은 요소들을 원하는 대로 배치하고 머릿속에 있는 어플리케이션의 화면을 레이아웃을 통해 구성해낼 수 있는 것이다. 오늘 살펴볼 레이아웃은 3가지가 있다. 컨스트레인트 레이아웃(제약, ConstraintLayout) (기본 레이아웃) 리니어 레이아웃(선형, LinearLayout) 프레임 레이아웃(FrameLayout) 화면 구성은 "activity_main.xml" 이라는 이름의 레이아웃 파일에서 할 수 있고, 이 파일은 자동으로 생성된다. * 앱은 이미지, MP3, DB와 같은 많은 종류의 파일로 구성되는데, 코틀린으로 작성되는 소스 코드 파일을 제외한 모든 파일을 리소스(Resource)라고 한다. xml파일도 리소스에 해당하며 리소스 파일의 이름은 모두 소문자로 작성한다. <b

2020년 8월 2일
·
0개의 댓글
·