ashish2py

Customizable Android Tab codes.

Nov 4th, 2011
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.09 KB | None | 0 0
  1. import android.app.Activity;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.widget.TabHost;
  8. import android.widget.TextView;
  9. import android.widget.TabHost.TabContentFactory;
  10. import android.widget.TabHost.TabSpec;
  11.  
  12. public class CustomTabActivity extends Activity {
  13.  
  14.     private TabHost mTabHost;
  15.  
  16.     private void setupTabHost() {
  17.         mTabHost = (TabHost) findViewById(android.R.id.tabhost);
  18.         mTabHost.setup();
  19.     }
  20.  
  21.     /** Called when the activity is first created. */
  22.     @Override
  23.     public void onCreate(Bundle savedInstanceState) {
  24.         super.onCreate(savedInstanceState);
  25.         // construct the tabhost
  26.         setContentView(R.layout.main);
  27.  
  28.         setupTabHost();
  29.         mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
  30.  
  31.         setupTab(new TextView(this), "Home",new Intent(this,HomeTabActivity.class));
  32.     }
  33.  
  34.     private void setupTab(final View view, final String tag, final Intent intent) {
  35.         View tabview = createTabView(mTabHost.getContext(), tag);
  36.  
  37.         TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent);
  38.         mTabHost.addTab(setContent);
  39.  
  40.     }
  41.  
  42.     private static View createTabView(final Context context, final String text) {
  43.         View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
  44.         TextView tv = (TextView) view.findViewById(R.id.tabsText);
  45.         tv.setText(text);
  46.         return view;
  47.     }
  48. }
  49.  
  50. >HomeTabActivity.java
  51.  
  52. import android.app.Activity;
  53. import android.os.Bundle;
  54.  
  55. public class HomeTabActivity extends Activity{
  56.  
  57.     @Override
  58.     protected void onCreate(Bundle savedInstanceState) {
  59.         // TODO Auto-generated method stub
  60.         super.onCreate(savedInstanceState);
  61.         setContentView(R.layout.testlayout);
  62.     }
  63. }
  64.  
  65.  
  66. layout/testlayout.xml
  67.  
  68. <?xml version="1.0" encoding="utf-8"?>
  69. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  70.     android:layout_width="fill_parent"
  71.     android:layout_height="fill_parent"
  72.     android:orientation="vertical" >
  73.  
  74.     <TextView
  75.         android:id="@+id/textView1"
  76.         android:layout_width="wrap_content"
  77.         android:layout_height="wrap_content"
  78.         android:text="Hola,I'm going here...."
  79.         android:textAppearance="?android:attr/textAppearanceLarge" />
  80.  
  81. </LinearLayout>
  82.  
  83. >>Manifest.xml
  84.  
  85. <?xml version="1.0" encoding="utf-8"?>
  86. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  87.     package="com.testroid.android.tabs" android:versionCode="1"
  88.     android:versionName="1.0.0">
  89.     <uses-sdk android:minSdkVersion="4" />
  90.     <application android:icon="@drawable/icon"
  91.         android:label="@string/app_name" android:debuggable="false">
  92.         <activity android:name=".CustomTabActivity"
  93.             android:configChanges="orientation" android:label="@string/app_name">
  94.             <intent-filter>
  95.                 <action android:name="android.intent.action.MAIN" />
  96.                 <category android:name="android.intent.category.LAUNCHER" />
  97.             </intent-filter>
  98.         </activity>
  99.         <activity android:name=".HomeTabActivity"
  100.               android:label="@string/app_name">
  101.         </activity>
  102.     </application> 
  103. </manifest>
  104.  
  105.  
Advertisement
Add Comment
Please, Sign In to add comment