287 views
この記事は最終更新から 734日 が経過しています。
0. 関連投稿
(39) アプリの画面切り替えをアクティビティの変更で実現する。 ←本投稿
(40) アクティビティ切り替え時にパラメーターを渡す。
(41) アクティビティ終了時にパラメーターを戻す。
1. やりたいこと
Androidアプリの画面切り替えを実現したい。
今回は Activityの変更で画面切り替えを実現してみる。
2. やってみる – 入門編 : ただ画面切り替えするだけ
以下のような単純な画面切り替えを実装する。
(1) MainActivity.java
startActivity で切り替える。
package com.example.testchangescreen; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_UP) { Intent intent = new Intent(getApplicationContext(), SubActivity.class); startActivity(intent); // ★サブ画面に切り替える。 } return super.onTouchEvent(event); } }
(2) SubActivity.java
finish で自 Activityを終了する。→ 遷移元の画面に戻る。
package com.example.testchangescreen; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; public class SubActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub); } @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_UP) { finish(); // ★サブ画面を終了する。 → メイン画面が表示される。 } return super.onTouchEvent(event); } }
(3) AndroidManifest.xml
新規に追加したアクティビティについて、AndroidManifest.xml に追記する必要がある。
AndroidStudioのメニューからアクティビティを追加した場合は自動追記されるようだが、自動追記されない場合があったので書いておく。
因みに…
メニューからアクティビティを追加する手順は数の通り。
今回の場合、SubActivityを追加したので、これを追記する。
(今回の場合は自動で追記されていたが…)
<application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.TestChangeScreen" tools:targetApi="31"> <activity android:name=".SubActivity" android:parentActivityName=".MainActivity" android:exported="false"> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> <activity android:name=".MainActivity" android:exported="true"> <intent-filter>
余談だが、13行目に書いた以下の一文を書いておくと、アプリバーに「←(親画面に戻る)」ボタンが表示されるようになる。
android:parentActivityName=".MainActivity"
こんなボタン(↓)が表示される。
2. やってみる – 応用編 : 画面切り替え時にパラメーターを渡す
次投稿 (40) アクティビティ切り替え時にパラメーターを渡す。 に記す。