Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Android에서 View Stub을 사용하는 방법은 무엇입니까?

<시간/>

예제를 시작하기 전에 Android에서 보기 스텁이 무엇인지 알아야 합니다. 크기가 0인 지연 팽창 보기입니다. 런타임에 부풀려집니다. inflate() 메서드를 사용하면 런타임에 팽창하고 창 관리자 또는 보기 그룹에 추가됩니다. setVisibility(int)를 사용합니다. Android에서 보기 스텁을 표시하거나 숨길 수 있습니다.

이 예는 Android에서 보기 스텁을 사용하는 방법을 보여줍니다.

1단계 − Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.

2단계 − res/layout/activity_main.xml에 다음 코드를 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:id="@+id/layout"
   android:layout_height="match_parent"
   android:orientation="vertical">
   <Button
      android:id="@+id/show"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="show"/>
   <Button
      android:id="@+id/hide"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hide"/>
   <ViewStub
      android:id="@+id/viewStub"
      android:layout_width="match_parent"
      android:layout="@layout/childlayout"
      android:layout_height="300dip" >
   </ViewStub>
</LinearLayout>

위의 코드에서는 표시 및 숨기기로 두 개의 버튼을 만들었습니다. 우리의 요구 사항에 따라 보기 스텁 레이아웃을 표시하고 숨길 것입니다. 다음으로 보기 스텁을 선언하고 아래와 같이 레이아웃을 확장합니다. -

android:layout="@layout/childlayout"

위의 코드에서는 스텁을 보기 위해 자식 레이아웃을 부풀렸습니다. 보기 스텁에 자식 레이아웃을 선언하면 자동으로 확장되지 않습니다. 액티비티 클래스에서 inflate 메소드를 호출해야 합니다.

3단계 − src/MainActivity.java

에 다음 코드 추가
package com.example.andy.myapplication;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewStub;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
   @TargetApi(Build.VERSION_CODES.O)
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      final ViewStub viewStub = findViewById(R.id.viewStub);
      viewStub.inflate();
      Button show = findViewById(R.id.show);
      show.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            viewStub.setVisibility(View.VISIBLE);
         }
      });
      Button hide = findViewById(R.id.hide);
      hide.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            viewStub.setVisibility(View.GONE);
         }
      });
}
}

위의 코드에서 아래와 같이 view stub와 inflate view stub를 선언했습니다. -

final ViewStub viewStub = findViewById(R.id.viewStub);
viewStub.inflate();

보기 버튼을 클릭하면 보기 스텁이 표시됩니다. 이제 숨기기 버튼을 클릭하면 보기 스텁이 숨겨집니다.

4단계 − manifest.xml을 변경할 필요가 없습니다.

응용 프로그램을 실행해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고 아이콘 실행을 클릭하세요. Android에서 View Stub을 사용하는 방법은 무엇입니까? 도구 모음에서. 모바일 장치를 옵션으로 선택한 다음 기본 화면을 표시할 모바일 장치를 확인하십시오.

Android에서 View Stub을 사용하는 방법은 무엇입니까?

처음에는 위와 같이 나오다가 숨기기 버튼을 누르면 아래와 같이 사라집니다. -

Android에서 View Stub을 사용하는 방법은 무엇입니까?

이제 표시 버튼을 클릭하면 아래와 같이 이미지 보기가 표시됩니다. -

Android에서 View Stub을 사용하는 방법은 무엇입니까?