プロジェクションマッピング

エンターテインメントから工業利用まで、プロジェクションマッピングの活用・運用をお考えの方へ

more

インタラクティブ&サイネージ

情報表示用のデジタルサイネージから、センサーを利用したインタラクティブ要素などをお考えの方へ

more

VR/360MOVIE

VRHMD用コンテンツからプラットフォームを利用した360度ムービーを活用したPRをお考えの方へ

more
CONTACT 052-253-9866

【Android Studio】xml切り替えによるページ遷移!

2014.05.26 月曜日 00:34:41

IMG_1686_rt_02

前回、intentでのページ遷移について調査を行いました。
今回は、もう一つの簡易的なページ遷移の方法として、xmlを切り替えて表示する方法で実装を行ってみました。

これが結構簡単に出来て使いやすいかもしれないです!

切り替え後のxmlを作成

まず、切り替え後(遷移後)のページを作成します。
Android Studioの画面左「Project」の中のapp→src→main→res→layout で右クリック。
new→XML→XML Layout File を選択して、新しいxmlを作成します。

スクリーンショット 2014-05-25 21.22.20

今回、ファイル名は「page_change」としました。

スクリーンショット 2014-05-25 21.21.40

作成したpage_change.xmlは以下のように記述しました。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.test_1.app.MainActivity">

    <TextView
        android:layout_height="wrap_content"
        android:text="ページ切り替えでの遷移です!"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/textView2"
        android:layout_width="wrap_content">
    </TextView>

    <Button
        android:text="TOPへ戻る"
        android:id="@+id/button_return"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true">
    </Button>

</RelativeLayout>

activity_main.xmlとMainActivity.javaを編集

前回作成したactivity_main.xmlに、ボタンを一つ追加します。

    <Button
        android:text="xml切り替え"
        android:id="@+id/button_change"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true">
    </Button>

続いて、MainActivityの編集を行います。


package com.example.test_1.app;

import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */

    private Button button_segue, button_change, button_return;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button_segue=(Button)findViewById(R.id.button_segue);
        button_segue.setOnClickListener(this);

        button_change=(Button)findViewById(R.id.button_change);
        button_change.setOnClickListener(this);


    }

    //ボタンクリック時
    public void onClick(View v) {

        if(v==button_segue){
            Intent intent = new Intent(this, SubActivity.class);
            startActivityForResult(intent, 0);


        }else if(v==button_change){
            setContentView(R.layout.page_change);

            button_return=(Button)findViewById(R.id.button_return);
            button_return.setOnClickListener(this);

        }else if(v==button_return){
            setContentView(R.layout.activity_main);

            button_segue=(Button)findViewById(R.id.button_segue);
            button_segue.setOnClickListener(this);

            button_change=(Button)findViewById(R.id.button_change);
            button_change.setOnClickListener(this);

        }
    }

}

戻るボタン等を付けたので色々書いてあるのですが、画面切り替え部分の記述は非常に単純で、
onClick時に setContentView(R.layout.page_change); とpage_changeが表示されるよう記述すれば、
指定のボタンをクリックしたときに画面を切り替えてくれます。
onCreate時にsetContentView(R.layout.activity_main);でactivity_mainが表示される手順と同じですので、簡単ですね。

これはヘルプページ等、単純に別の画面を見せたい場合にささっと実装出来て、使いやすいかもしれませんね!

今回参考にさせて頂いたサイトはこちらです。ありがとうございました!
Category:Android , Development , Mac     Tag:
Authorブログの著者について
田中 義弘

田中 義弘

イベントプロダクション・グラフィックデザイナーを経て、2010年3月に株式会社アイデアクラウドを設立。近年、WEBから得た技術をベースに、プロジェクションマッピング事業をはじめとした先端事業をスタート。

Our Business
最近の記事
人気記事
Our Project