[Android] สร้างหน้าใหม่ใน Android ทำยังไงมาดู

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: [Android] สร้างหน้าใหม่ใน Android ทำยังไงมาดู

Re: [Android] สร้างหน้าใหม่ใน Android ทำยังไงมาดู

โดย basdvast » 25/06/2014 1:37 am

ขอบคุณมากครับ ผมกำลังหาอยู่พอดีเลยยย. :-D :-D

[Android] สร้างหน้าใหม่ใน Android ทำยังไงมาดู

โดย touleg » 31/01/2012 8:28 pm

หากเราต้องการสร้างหน้าใหม่ขึ้นมาในโปรแกรมของเรา เช่น กดปุ่มแล้วมีหน้าใหม่ขึ้นมา จะทำยังไง

1. ไปสร้างปุ่มไว้ 1 ปุ่ม ที่ไฟล์ main.xml อยู่ที่ res/layout/main.xml

โค้ด: เลือกทั้งหมด

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          >
<Button
          android:id="@+id/button1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:text="Open"
          />
</LinearLayout>
2. จากนั้นให้สร้าง layout ขึ้นมาใหม่อีกไฟล์ ชื่อว่า newpage.xml ไว้ที่เดียวกับ main.xml
แต่งหน้าได้ตามใจชอบ

3. สร้างคลาสขึ้นมาใหม่อีกไฟล์ ที่สืบทอดจาก Activity ด้วย วิธีการง่ายๆคือ ก็อบปี้ไฟล์ .java แล้ว paste ลงไปที่เดิม กำหนดชื่อไฟล์ สมมุติผมใช้ชื่อไฟล์ใหม่ว่า newpage.java นะครับ
ชื่อไฟล์จะตรงกับชื่อคลาสในไฟล์

4. เปิดไฟล์ AndroidMainfest.xml ขึ้นมา เปิดไปที่หน้าดูโค้ดนะครับ ให้เราสร้าง activity เพิ่มขึ้นมา เพราะว่าเราสร้างหน้าใหม่แล้ว โดยชื่อ activity ให้ใช้ว่า .ชื่อคลาส ดังนี้

โค้ด: เลือกทั้งหมด

<activity
            android:name=".mainpage"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".newpage" android:theme="@android:style/Theme.Light">
        </activity>
เราสามารถกำหนด theme ให้กับ activity ได้โดย

โค้ด: เลือกทั้งหมด

android:theme="@android:style/Theme.Light"

เปลี่ยนตรง Theme.Light เป็นแบบอื่นได้ เช่น

android:theme="@android:style/Theme.Dialog" แสดงเป็นแบบป๊อบอัพ
5. จากนั้นเปิดไฟล์ activity หลักขึ้นมา (ไฟล์ .java หน้าแรก ในที่นี้ผมใช้ชื่อว่า mainpage) และเพิ่มโค้ดเข้าไป

โค้ด: เลือกทั้งหมด

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

public class mainpage extends Activity{
	Button bt;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  //กำหนด layout หลัก
        bt = (Button)findViewById(R.id.button1);
        sensorlist.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent i = new Intent(mainpage.this,newpage.class);
				startActivity(i);
			}
		});
    }
}
6. กำหนด layout หลักให้กับ Activity newpage ด้วย โดยเปิดไฟล์ newpage.java ขึ้นมา

โค้ด: เลือกทั้งหมด

import android.app.Activity;
import android.os.Bundle;

public class newpage extends Activity{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newpage);  //กำหนด layout หลัก
    }
}
จบแล้วครับทดลองดูได้เลย ผมอาจจะพิมพ์งงไปหน่อยขออภัยด้วยครับ

ข้างบน