您好,登錄后才能下訂單哦!
怎么在Android中利用setContentView實現一個頁面的轉換效果?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
實現思路如下:
在第一個Activity的布局中添加一個Button,實現點擊事件
點擊該Button,調用setContentView,傳入第二個頁面的Layout,第二個頁面就顯示出來了
第二個頁面的布局中仍然有一個Button,仍然實現其點擊事件
點擊該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實現一個頁面的轉換效果的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。