如何自定义android tab小部件

时间:2013-12-17 08:52:10

标签: android android-layout

我尝试为我的应用添加标签小部件。当我点击它时,它显示所选标签的边框。我怎么能删除它??

我想删除这个灰色边框

enter image description here

这是选项卡的xml设计

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#160203" >
            </TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <LinearLayout
                    android:id="@+id/tab1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >

                <EditText
                    android:id="@+id/editText1"
                    android:layout_width="200dp"
                    android:layout_height="40dp"
                    android:layout_above="@+id/imageView2"
                    android:layout_alignRight="@+id/imageView7"
                    android:layout_marginBottom="40dp"
                    android:background="#ffffff"
                    android:ems="10"
                    android:inputType="textPersonName" />
                </LinearLayout>



                <LinearLayout
                    android:id="@+id/tab2"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >

                    <EditText
                    android:id="@+id/editText1"
                    android:layout_width="200dp"
                    android:layout_height="40dp"
                    android:layout_above="@+id/imageView2"
                    android:layout_alignRight="@+id/imageView7"
                    android:layout_marginBottom="40dp"
                    android:background="#ffffff"
                    android:ems="10"
                    android:inputType="textPersonName" />


                    </LinearLayout>

                <LinearLayout
                    android:id="@+id/tab3"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >


                     <EditText
                    android:id="@+id/editText1"
                    android:layout_width="200dp"
                    android:layout_height="40dp"
                    android:layout_above="@+id/imageView2"
                    android:layout_alignRight="@+id/imageView7"
                    android:layout_marginBottom="40dp"
                    android:background="#ffffff"
                    android:ems="10"
                    android:inputType="textPersonName" />
                </LinearLayout>

            </FrameLayout>
        </LinearLayout>
    </TabHost>

这是活动类

TabHost tabHost = getTabHost();


            TabSpec favourite = tabHost.newTabSpec("favourite");

            favourite.setIndicator("", getResources().getDrawable(R.drawable.favoritetwo));
            Intent photosIntent = new Intent(this, Favourite.class);
            favourite.setContent(photosIntent);


            TabSpec Offers = tabHost.newTabSpec("Offers");        
            Offers.setIndicator("", getResources().getDrawable(R.drawable.offertwo));
            Intent songsIntent = new Intent(this, Offers.class);
            Offers.setContent(songsIntent);


            TabSpec nearBy = tabHost.newTabSpec("nearBy");
            nearBy.setIndicator("", getResources().getDrawable(R.drawable.nearbytwo));
            Intent videosIntent = new Intent(this, Near_By.class);
            nearBy.setContent(videosIntent);


            tabHost.addTab(favourite); 
            tabHost.addTab(Offers); 
            tabHost.addTab(nearBy); 

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我们需要使用状态列表drawable而不是更改Image吗?然后,您只需在选中它时为选项卡指定不同的drawable。

Example, ic_tab_tasks.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_tab_tasks_selected"
          android:state_selected="true" />
    <item android:drawable="@drawable/ic_tab_tasks_normal" />
</selector>

然后,当你最初设置标签指示符的drawable时,只需使用state-list drawable。