Android 는 setContentView 를 사용 하여 페이지 전환 효 과 를 실현 합 니 다.

Android 에서 페이지 전환 이 라 고 하면 startActivity 가 다른 Activity 를 시작 할 생각 만 하지 않 습 니까?
사실 Android 에 서 는 setContentView 를 직접 이용 하여 유사 한 페이지 전환 효 과 를 얻 을 수 있 습 니 다!실현 방향 은 다음 과 같다.
  • 첫 번 째 Activity 의 레이아웃 에 Button 을 추가 하여 클릭 이 벤트 를 실현 합 니 다
  • 이 버튼 을 클릭 하고 setContentView 를 호출 하여 두 번 째 페이지 의 Layout 에 들 어가 면 두 번 째 페이지 가 표 시 됩 니 다
  • 두 번 째 페이지 의 레이아웃 에 아직도 하나의 Button 이 있 고 클릭 사건 을 실현 합 니 다
  • 이 버튼 을 클릭 하고 setContentView 를 호출 하여 첫 번 째 페이지 의 Layout 에 들 어가 면 첫 번 째 페이지 가 표 시 됩 니 다
  • 따라서 서로 끼 워 넣 기 호출 과 유사 합 니 다.소스 코드 는 다음 과 같 습 니 다.
    
    public class ExampleActivity extends Activity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_page_layout);
        
        Button button = findViewById(R.id.buttonGoToLayout2);
        button.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            //         
            jumpToLayout2();
          }
        });
      }
    
      private void jumpToLayout2() {
        //           
        setContentView(R.layout.layout2);
        Button button2 = findViewById(R.id.buttonGoToLayout1);
        button2.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            //        ,  Button,        
            jumpToLayout1();
          }
        });
      }
    
      private void jumpToLayout1() {
        //        d   
        setContentView(R.layout.main_page_layout);
        Button button = findViewById(R.id.buttonGoToLayout2);
        button.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            //         Button,        
            jumpToLayout2();
          }
        });
      }
    }
    
    두 레이아웃 파일 은 다음 과 같 습 니 다.
    1,첫 페이지 레이아웃:mainpage_layout.xml
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="This is Layout One"
            android:paddingTop="20dp"
            android:textSize="30sp"/>
        <Button
            android:text="Go to Layout Two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonGoToLayout2"
            android:layout_marginTop="20dp"
            android:layout_below="@id/textView1"/>
    </RelativeLayout>
    
    2.두 번 째 페이지 레이아웃:layout 2.xml
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:background="@android:color/black" >
      <TextView
          android:id="@+id/textView2"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="This is Layout Two"
          android:paddingTop="20dp"
          android:textColor="@android:color/white"
          android:textSize="30sp"/>
      <Button
          android:text="Go to Layout One"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/buttonGoToLayout1"
          android:layout_marginTop="20dp"
          android:layout_below="@id/textView2"/>
    </RelativeLayout>
    
    setContentView 를 통 해 페이지 전환 을 실현 합 니 다.Activity 전환 보다 특별한 장점 이 있 습 니 다.
    모든 프로그램의 변 수 는 같은 상태 가 존재 합 니 다.클래스 구성원 변수,클래스 함수 등 은 같은 Activity 에서 직접 얻 을 수 있 고 매개 변수 전달 문제 가 없습니다.예 를 들 면:
    Layout 1 은 사용자 가 입력 한 카드 번호 등 결제 정 보 를 수집 하고'다음'을 클릭 하여 Layout 2 에 들 어가 주문 정 보 를 표시 하고 사용자 가'확인'단 추 를 클릭 한 후 Layout 3 에 들 어가 결제 권한 부여 작업 을 하 며 전체 과정 에 변수 전달 이 없 음 을 확인 하도록 했다.
    이상 은 안 드 로 이 드 가 setContentView 를 사용 하여 페이지 전환 효 과 를 실현 하 는 상세 한 내용 입 니 다.안 드 로 이 드 페이지 전환 효과 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!

    좋은 웹페이지 즐겨찾기