Android TabLayoutの例
このチュートリアルでは、TabLayout
を使用して4つのタブ(「Android」、「Windows」、「Apple」、「BlackBerry」)をレンダリングする方法を示します。各タブには、簡単なメッセージを表示するテキストビューが含まれています。
P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.
1. タブ画像
「res/drawable」フォルダに4つのタブ画像を配置します。 このチュートリアルで使用されているタブ画像は、Android icon guidelineに準拠していません。申し訳ありませんが、デザインが苦手です:)。
2. XMLのタブ画像
4つのXMファイルを作成して、各タブに使用する画像を指定し、同じ「res/drawable」フォルダーに配置します。
ファイル:icon_android_config.xml
ファイル:icon_apple_config.xml
ファイル:icon_blackberry_config.xml
ファイル:icon_windows_config.xml
3. タブアクティビティ
4つのアクティビティクラスを作成し、タブがクリックされたときに使用するアクティビティを指定します。 4つのクラスすべてが同じことを行い、textviewコンポーネントを表示します。
ファイル:AndroidActivity.java
package com.example.android; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class AndroidActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is Android tab"); setContentView(textview); } }
ファイル:AppleActivity.java
package com.example.android; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class AppleActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is Apple tab"); setContentView(textview); } }
ファイル:BlackBerryActivity.java
package com.example.android; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class BlackBerryActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is BlackBerry tab"); setContentView(textview); } }
ファイル:WindowsActivity.java
package com.example.android; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class WindowsActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is Windows mobile tab"); setContentView(textview); } }
4. 主な活動
エントリポイントを作成し、TabHost
、TabSpec
などの4つのタブアクティビティクラスの上にリンクします。
package com.example.android; import android.app.TabActivity; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class MainActivity extends TabActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources ressources = getResources(); TabHost tabHost = getTabHost(); // Android tab Intent intentAndroid = new Intent().setClass(this, AndroidActivity.class); TabSpec tabSpecAndroid = tabHost .newTabSpec("Android") .setIndicator("", ressources.getDrawable(R.drawable.icon_android_config)) .setContent(intentAndroid); // Apple tab Intent intentApple = new Intent().setClass(this, AppleActivity.class); TabSpec tabSpecApple = tabHost .newTabSpec("Apple") .setIndicator("", ressources.getDrawable(R.drawable.icon_apple_config)) .setContent(intentApple); // Windows tab Intent intentWindows = new Intent().setClass(this, WindowsActivity.class); TabSpec tabSpecWindows = tabHost .newTabSpec("Windows") .setIndicator("", ressources.getDrawable(R.drawable.icon_windows_config)) .setContent(intentWindows); // Blackberry tab Intent intentBerry = new Intent().setClass(this, BlackBerryActivity.class); TabSpec tabSpecBerry = tabHost .newTabSpec("Berry") .setIndicator("", ressources.getDrawable(R.drawable.icon_blackberry_config)) .setContent(intentBerry); // add all tabs tabHost.addTab(tabSpecAndroid); tabHost.addTab(tabSpecApple); tabHost.addTab(tabSpecWindows); tabHost.addTab(tabSpecBerry); //set Windows tab as default (zero based) tabHost.setCurrentTab(2); } }
5. Androidレイアウトファイル
ファイル:res / layout / main.xml
6. Androidマニフェスト
最後に、すべてを「AndroidManifest.xml
」に入れ、4つのタブアクティビティクラスを定義し、「MainActivity
」をエントリポイントとして設定します。
ファイル:AndroidManifest.xml
7. Demo
デフォルトでは、Windowsタブが選択されています。
[Android]タブをクリックします。
ソースコードをダウンロード
ダウンロード–Android-TabLayout-Example.zip(23 KB)