본문 바로가기
반응형

viewgroup4

clipChildren 으로 ViewGroup의 범위를 벗어나는 안드로이드 UI 안드로이드 앱을 만들면서, UI작업을 하다보면 ViewGroup의 범위를 벗어나도록 표현해야 할 경우가 생깁니다.무작정 마이너스 마진을 넣는다고 되지는 않구요. ViewGroup의 clipChildren 옵션을 사용해야 하는데요. 오늘은 이 clipChildren옵션을 사용해서 VIewGroup범위를 벗어나는 UI를 그리는 방법에 대해서,실제로 코드를 작성해보면서 정리해 보겠습니다. 1. ViewGroup에 ClipChildren 적용하기 ViewGroup중 하나인 RelativeLayout에 ClipChildren을 먼저 적용해 보겠습니다.이 옵션은 ViewGroup의 Child가 부모의 범위안에서 그려지도록 제한할지를 정하는 옵션입니다.false를 주지 않으면 기본값인 true로 되어서, 아무리 마이.. 2017. 4. 17.
ConstraintLayout 의 매력에 빠져보겠습니다 어느 순간부터 안드로이드 스튜디오를 업데이트 하고나서,프로젝트를 생성한 뒤에, MainActivity.xml을 열어보면,Root ViewGroup이 아래와 같이 ConstraintLayout으로 되어 있는 걸 볼 수 있습니다. 도대체 얼마나 매력적이기에, 구글에서 이것을 디폴트로 쓰라고 추천하는지 궁금해지는데요.오늘은 이 ConstraintLayout에 대해서 정리해 보면서, 그 매력에 빠져보겠습니다~. 1. ConstraintLayout Constraint의 한글뜻은 제한, 통제라는 뜻인데요.모순적이지만, 구글에서는 블로그에서 ViewGroup을 아주 파워풀하고, 유연한 툴이라고 소개하고 있습니다. 구체적으로는, 복잡한 UI들을 안에 겹겹히 쌓지 않고도,위치나 사이즈를 유연하게 적용시킬 수 있는 Vie.. 2017. 3. 10.
Android 에서 동적으로 View 추가하기 #LayoutInflater 안드로이드 앱을 만들다 보면, 동적으로 View를 추가해야 할 경우가 생기는 데요. 오늘은, 이럴 때 어떻게 해야하는지 정리해 보겠습니다. 1. LayoutInflater layout을 생성하는 것은 inflate한다고 하는데요. 참고로 inflate의 의미를 사전에서 찾아보면, 부풀리다라는 의미인데요. View를 정의한 XML이나 Java파일대로 View를 inflate한다고 생각하면 될 것 같습니다. inflate는 getLayoutInflater()를 이용해서 현재 context와 폰화면에 맞는, LayoutInflater객체를 생성해서 사용해야 하는데요. 아래와 같이 layoutInflater객체를 얻어옵니다. 이제 inflate()메소드로 view를 inflate해줘야 하는데요, 먼저 view로.. 2017. 2. 21.
Android에서 Java코드로 margin값 변경하기 Android에서 레이아웃을 잡을 때는 XML을 이용하는데요. 하지만, 경우에 따라서, 동적으로 프로그래밍된 값으로 element를 움직여줘야 할 때가 있습니다. 이 때는 동적으로 margin값을 잡아줘야 할텐데요. 오늘은 이것에 대해서 정리해 보도록 하겠습니다. 1. 기본 Layout 정의 아래와 같이 Text밑에 LinearView가 있고, 그 밑에 LinearLayout안에 ImageView와 TextView가 있는 구조를 만들어 보겠습니다. 위 XML은 아래와 같이 보입니다. 2. Java 코드 저희가 이동시킬 대상은 id가 img_test인 안드로이드아이콘을 소스로 가지고 있는, ImgView인데요. 이 뷰의 마진 값을 저장하려면 LayoutParams객체를 가져와서 수정해야 합니다. 이 Lay.. 2017. 2. 20.