2년째 포켓몬 트레이너계 SE의 android 앱 개발 정리~2일째~

소개



안드로이드 개발 정리 2일째입니다.
이번은 Activity#setContentView와 의 사용법에 대해입니다.
레이아웃을 다루는 방법, 제대로 설명할 수 없었기 때문에 공부해 왔습니다.

Activity#setContentView



이번 사용 예

샘플
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);

함수 호출의 패턴과 용도는 다음과 같다.
1. setContentView (View view, ViewGroup.LayoutParams params)
  Set the activity content to an explicit view.
2. setContentView (View view)
  Set the activity content to an explicit view.
3. setContentView (int layoutResID)
  Set the activity content from a layout resource.
참고 : htps : //로 ゔぇぺぺr. 안 d로이 d. 코 m / 레후 렌세 / 안 d 로이 d / 아 p / 아 c 치 ぃ ty

1.2는 인수로 전달한 View를 레이아웃에 반영한다.
3이 이번에 사용한 패턴. 인수로 전달한 레이아웃 파일을 Activity로 읽어들입니다.
활동 엔티티의 오브젝트에 대해 setContentView에서 xml을 읽는 이미지.
작법적으로 이 함수를 실행해야 할까 생각했지만, 이것이 없어도 실행할 수 있었다.
setContentView(int layoutResID)를 onCreate내에서 실행하고 있지 않으면, 레이아웃을 읽어들이지 않기 때문에, 아래의 화상 보고 있는 새하얀 화면이 표시된다.


1.2는 나중에 View를 추가 표시하기 위해,
3은 먼저 기본 Activity를 표시하는 데 사용한다고 생각할 수 있습니다.

<merge>



include 하는 xml를 부모의 View와 합체하는데 사용한다.
「그것은 무엇이 유익한 거야?」라고 생각하시는 분, 저와 같습니다. 어떻게든 이해할 수 있었으므로 해설하겠습니다.

우선, 전제로 include하는 측의 부모 레이아웃에는, 뷰 그룹이 필요합니다.
따라서 초간략화하면 아래와 같은 구성이 될 것입니다.

parent.xml
<LinearLayout>
    <include~~~~~/>
</LinearLayout>

※편의상 LinearLayout를 사용했습니다만, 뷰 그룹이면 뭐든지 괜찮습니다.

그리고 이 에는 아이 레이아웃이 들어옵니다.
이때 가 아닌 뷰 그룹을 사용하면 이런 느낌이 듭니다.

childLayout1.xml
<LinearLayout>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</LinearLayout>

그리고, include 해 합체가 완료하면, 아래와 같이 됩니다.

mergedLayout1.xml
<LinearLayout>
    <LinearLayout>
        <TextView~~~~~/>
        <TextView~~~~~/>
        <TextView~~~~~/>
    </LinearLayout>
</LinearLayout>

알아 차릴까요?
LinearLayout 안에 쓸데없는 LinearLayout이 존재하므로 매우 좋지 않습니다.

를 사용한 경우의 자식 레이아웃은 다음과 같습니다.

childLayout2.xml
<merge>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</merge>

그리고 합체! !

mergedLayout2.xml
<LinearLayout>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</LinearLayout>

이렇게 됩니다. 방금 전 레이아웃에서 낭비가 없어졌습니다.
는, 이런 느낌으로, 부모의 ViewGroup과 합체 받기 위해서 사용하는군요~.

요약



오늘은 Activity#setContentView와 에 관한 것이었습니다.
다시 조사하면, 알고 있는 신경이 쓰이는 것이 많이 있군요.
앞으로도 안드로이드로 궁금해한 것을 조사해 정리해 갑니다~.
읽어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기