中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中利用setContentView實現一個頁面的轉換效果

發布時間:2021-01-22 14:44:03 來源:億速云 閱讀:190 作者:Leah 欄目:開發技術

怎么在Android中利用setContentView實現一個頁面的轉換效果?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

實現思路如下:

  1. 在第一個Activity的布局中添加一個Button,實現點擊事件

  2. 點擊該Button,調用setContentView,傳入第二個頁面的Layout,第二個頁面就顯示出來了

  3. 第二個頁面的布局中仍然有一個Button,仍然實現其點擊事件

  4. 點擊該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、第一個頁面布局:main_page_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、第二個頁面布局:layout2.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中直接獲得,沒有參數傳遞的問題。比如:

Layout1收集了用戶輸入的銀行卡號碼等付款信息,點擊“下一步”進入Layout2顯示訂單信息,讓用戶確認,用戶點擊“確認”按鈕后,進入Layout3進行付款的授權操作,整個過程沒有變量的傳遞。

看完上述內容,你們掌握怎么在Android中利用setContentView實現一個頁面的轉換效果的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正镶白旗| 泰安市| 桑日县| 临泽县| 陈巴尔虎旗| 张家港市| 德安县| 于都县| 磐石市| 丹东市| 手游| 内江市| 涿州市| 明星| 武宁县| 出国| 瑞金市| 兴文县| 北辰区| 湖口县| 广元市| 栾城县| 广昌县| 邹城市| 通辽市| 鄂托克前旗| 太仓市| 福建省| 金湖县| 新宁县| 合水县| 从江县| 上蔡县| 伊川县| 松江区| 高平市| 元阳县| 花垣县| 额尔古纳市| 东丽区| 汕尾市|