制作自定义标签按钮

Aal*_*rma 5 layout tabs android tabwidget

如何让我的标签按钮看起来像 在此输入图像描述

如果我在那个形状上有一个可绘制的,那么最简单的方法是什么?

Has*_*y31 3

只需您可以像这样在您的应用程序中实现选项卡

在 onCreate 方法中

TabHost tabHost = getTabHost();
tabHost.setCurrentTabByTag("First");

TabSpec firstTab = tabHost.newTabSpec("First");  
firstTab.setIndicator("firstTab",getResources().getDrawable(R.drawable.ic_action_first)); //drawable 1
firstTab.setContent(R.id.first_content);    //View
tabHost.addTab(firstTab);

TabSpec secondTab = tabHost.newTabSpec("Second");
secondTab.setIndicator("secondTab",getResources().getDrawable(R.drawable.ic_action_second)); //drawable 2
secondTab.setContent(R.id.second_content);    //View
tabHost.addTab(secondTab);

TabSpec thirdTab = tabHost.newTabSpec("Third");
thirdTab.setIndicator("thirdTab",getResources().getDrawable(R.drawable.ic_action_third)); //drawable 3
thirdTab.setContent(R.id.third_content);    //View
tabHost.addTab(thirdTab);

tabHost.setCurrentTab(0);
Run Code Online (Sandbox Code Playgroud)

在 xml 文件中

<TabHost android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost">
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical">
        <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="wrap_content" android:layout_height="wrap_content" >

            <LinearLayout android:id="@+id/first_content" android:layout_width="fill_parent" android:layout_height="fill_parent">
                <TextView android:text="first_tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
            </LinearLayout>

            <LinearLayout android:id="@+id/second_content" android:layout_width="fill_parent" android:layout_height="fill_parent">
                <TextView android:text="second_tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
            </LinearLayout>

            <LinearLayout android:id="@+id/third_content" android:layout_width="fill_parent" android:layout_height="fill_parent">
                <TextView android:text="third_tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
            </LinearLayout>
        </FrameLayout>

    </LinearLayout>
    </TabHost>
Run Code Online (Sandbox Code Playgroud)

在 getResources().getDrawable(R.drawable.drawableid)) 调用您的可绘制对象;