기트허브 링크1(Github link1)(Basics about Visibility)

뷰의 간격 설정
- 뷰의 간겨근 margin과 padding 속성으로 설정한다
- 'margin은 뷰와 뷰 사이의 간격이고 padding은 뷰의 콘텐츠와 테주리 사이
- margin과 padding 속성을 이용하면 네 방향 모두 같은 크기로 설정 된다
○ 만약 한 반향만 하고 싶으면….
§ paddingTop, paddingBottom, paddingLeft, paddingRight
§ layout_marginTop, layout_marginBottom, layout_marginLeft, layout_marginRight
○ 을 이용
- 예시)
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="50dp"
android:text="Button6(PaddingTop)"
android:backgroundTint="#0000ff"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="90dp"
android:text="Button7(layout_marginLeft by 90)"
android:backgroundTint="#f000ff"
/>
뷰 표시 여부 설정
- visibility 속성은 뷰가 화면을 출력되어야 하는지 설정한다 - visibility 값은…
○ visible: 뷰가 화면에 출력된다
○ invisible: 화면에 출력 안됨
§ 정확히 화면에 보이지 않지만 자리는 차지
○ gone: 화면에 출력 안됨
§ 설정하면 자리조차 차지하지 않는다
예시)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"
android:visibility="invisible"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"
android:visibility="gone"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3"/>
</LinearLayout>
- 위 예시 코드 결과를 보면 중간 Button 2를 invisible를 했다
○ 화면에 안보임
- 오른쪽 Button 2를 gone으로 했는데 흔적도 없이 사라짐
- 만약 XML이 아닌 코드에서 visibility 속성을 사용하고 싶으면….
visibleBtn.setOnClickListener {
targetView.visibility = View.VISIBLE
}
invisibleBtn.setOnClickListener {
targetView.visibility = View.INVISIBLE
}