since: 2013/03/16
update: 2013/03/16
reference:
Chickenrice's Workshop: [Android] 建立Tab View的三種方式(下)
A. 在專案的 res/layout 目錄下新增 tab1.xml 與 tab2.xml
// tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id ="@+id/tab1_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I'm Tab 1"
android:textSize="18sp" />
</LinearLayout>
// tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id ="@+id/tab2_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I'm Tab 2"
android:textSize="18sp" />
</LinearLayout>
---------------------------------------------------------------------------
B. 在專案的 src 套件目錄下新增 Tab1.java 與 Tab2.java:
// Tab1.java
package home.android.hello;
import android.app.Activity;
import android.os.Bundle;
public class Tab1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab1);
}
}
// Tab2.java
package home.android.hello;
import android.app.Activity;
import android.os.Bundle;
public class Tab2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab2);
}
}
---------------------------------------------------------------------------
C. 修改專案的 AndroidManifest.xml 檔案
新增以下的設定:
....
<activity android:name="home.android.hello.Tab1"
android:label="這是Tab1" >
</activity>
<activity android:name="home.android.hello.Tab2"
android:label="這是Tab2" >
</activity>
</application>
</manifest>
---------------------------------------------------------------------------
D. 修改專案 src 套件目錄下的 MainActivity.java 如下:
package home.android.hello;
import android.os.Bundle;
import android.app.AlertDialog;
//import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
public class MainActivity extends TabActivity implements OnTabChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//取得Tabhost參考
TabHost tabHost = getTabHost();
//設定各tab頁面
tabHost.addTab(tabHost
.newTabSpec("tab1")
.setIndicator("TAB1")
.setContent(new Intent(this, Tab1.class))
);
tabHost.addTab(tabHost
.newTabSpec("tab2")
.setIndicator("TAB2")
.setContent(new Intent(this, Tab2.class))
);
tabHost.setOnTabChangedListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
new AlertDialog.Builder(this).setTitle("Hint").setMessage(tabId)
.setPositiveButton("OK", null).show();
}
}
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。