How to customize android tabs or background change?

I am very new to android. Now I build a small application.

I need to change the look and feel of android default look up in 2.2. So, here I try to change the background of the tabs. Can you help me to do that.

  • Android dual SIM card API
  • Second AsyncTask not executing
  • What video format will play on all Android devices?
  • DuplicateFileException m4b + play services 9.0
  • jQuery mobile activity indicator not showing in android
  • How to scroll the edittext inside the scrollview
  • I love the way using the xml/style.

    This is what I need that actual output.

    Tabs

    Related posts:

    Multiple EditText objects in AlertDialog
    Get user's home, work and starred locations like Google Inbox does
    Is there any point of an Activity with one fragment?
    Get list of photo galleries on Android
    Fade in Activity from previous Activity in Android
    GCMNetworkManager isn't running PeriodicTask after reboot
  • Detecting which selected item (in a ListView) spawned the ContextMenu (Android)
  • Picasso can't load image inside StorageReference's onSuccess method
  • How to generate buildConfigField with String type
  • Gradle won't exclude a module as requested
  • Android aapt high processor utilization (and slow!)
  • Draw over navigation bar (and other apps) on Android version >= 5
  • One Solution collect form web for “How to customize android tabs or background change?”

    Your Tab Host XML file

    TabHost

    <?xml version="1.0" encoding="utf-8"?> 
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@android:id/tabhost" android:layout_width="fill_parent" 
        android:layout_height="fill_parent">
    
        <LinearLayout android:orientation="vertical" 
            android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    
            <TabWidget android:id="@android:id/tabs" 
                android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
            <FrameLayout android:id="@android:id/tabcontent" 
                android:layout_width="fill_parent" android:layout_height="fill_parent"> 
            </FrameLayout> 
    
        </LinearLayout> 
    
    </TabHost> 
    

    in Your Main Activity

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        mTabHost = (TabHost) findViewById(android.R.id.tabhost);
    
        setupTab(new TextView(this), "Tab 1");
        setupTab(new TextView(this), "Tab 2");
        setupTab(new TextView(this), "Tab 3");
    }
    
    private void setupTab(final View view, final String tag) {
        View tabview = createTabView(mTabHost.getContext(), tag);
        TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new TabContentFactory() {
            public View createTabContent(String tag) {
                return view;
            }
        });
        mTabHost.addTab(setContent);
    }
    
    private static View createTabView(final Context context, final String text) {
        View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
        TextView tv = (TextView) view.findViewById(R.id.tabsText);
        tv.setText(text);
        return view;
    }
    

    CustomTabsLayout tabs_bg.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tabsLayout" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:background="@drawable/tab_bg_selector"
        android:padding="10dip" android:gravity="center" android:orientation="vertical">
    
        <TextView android:id="@+id/tabsText" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Title"
            android:textSize="15dip" android:textColor="@drawable/tab_text_selector" />
    </LinearLayout>
    

    tab_text_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_selected="true" android:color="@android:color/white" />
        <item android:state_focused="true" android:color="@android:color/white" />
        <item android:state_pressed="true" android:color="@android:color/white" />
        <item android:color="#f8f8f8" />
    </selector>
    

    tab_bg_selector

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
            <!--  Active tab -->
        <item android:state_selected="true" android:state_focused="false"
            android:state_pressed="false" android:drawable="@drawable/tab_bg_selected" />
        <!--  Inactive tab -->
        <item android:state_selected="false" android:state_focused="false"
        android:state_pressed="false" android:drawable="@drawable/tab_bg_unselected" />
        <!--  Pressed tab -->
        <item android:state_pressed="true" android:drawable="@android:color/transparent" />
        <!--  Selected tab (using d-pad) -->
        <item android:state_focused="true" android:state_selected="true"
        android:state_pressed="false" android:drawable="@android:color/transparent" />
    </selector>
    

    tab_bg_selected.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <gradient android:startColor="#A8A8A8" android:centerColor="#7F7F7F"
            android:endColor="#696969" android:angle="-90" />
    </shape>
    

    tab_bg_unselected.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <gradient android:startColor="#5C5C5C" android:centerColor="#424242"
        android:endColor="#222222" android:angle="-90" />
    </shape>
    

    And Finally in your main activity class

    mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
    

    And finish 🙂

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.