简体   繁体   中英

How to add Custom Titlebar with Button on top of Tabs in Android

I have a Tabhost in Android. I now want to know how can i put Custom Titlebar on top of it with button on right. Below is my code :

++++++++++++++++++++++++++
+                +++++++ +
+                +++++++ +
++++++++++++++++++++++++++
+           +            +
+           +            +
++++++++++++++++++++++++++      

support.xml

    <?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:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:padding="5dp" >

            <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"
                android:padding="5dp" />
        </LinearLayout>

    </TabHost>

Support.java

public class Support extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        setContentView(R.layout.support);
        Bundle bundle = getIntent().getExtras();

        TabHost tabHost = getTabHost();
        TabHost.TabSpec spec;
        Intent intent;

        intent = new Intent().setClass(this, TestListView.class);
        spec = tabHost  .newTabSpec("some_things")
                        .setIndicator("Info")
                        .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, TestListView.class);
        spec = tabHost  .newTabSpec("top_things")
                        .setIndicator("Log")
                        .setContent(intent);
        tabHost.addTab(spec);


        tabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 85;
        tabHost.getTabWidget().getChildAt(1).getLayoutParams().height = 85;
    }
}

Pass a drawable to set indicator

.setIndicator("Log",getResources().getDrawable(R.drawable.image_log));

you may also pass a seletor id to getDrawable().

here is a good Tutorial

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM