我有一个自定义标签指示符来制作我的标签。但是,我想删除选项卡下面的底部边框。黑色线条和灰度阴影都一样。我什至不知道是什么导致了灰度褪色。可能是TabWidget,FrameLayout或子级的LinearLayout。



作为参考,我尝试了setStripEnabled(false);。
另一个潜在的困难是,我是通过编程方式创建TabHost和TabWidget,而不是使用布局文件。

最佳答案

当我使用标签时,通常我只是通过将android可见性设置为“消失”来隐藏tabwidget标签。

并添加按钮以充当选项卡按钮,例如

<?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">
        <FrameLayout android:id="@android:id/tabcontent"
            android:layout_width="fill_parent" android:layout_height="0dip"
            android:layout_weight="1.0"/>
        <FrameLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="gone"/>
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="64dip">
                <Button android:layout_height="fill_parent" android:layout_width="0dip"
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists"
                    android:id="@+id/artist_id" android:onClick="tabHandler"/>
                <Button android:layout_height="fill_parent" android:layout_width="0dip"
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists"
                    android:id="@+id/album_id" android:onClick="tabHandler"/>
                <Button android:layout_height="fill_parent" android:layout_width="0dip"
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists"
                    android:id="@+id/song_id" android:onClick="tabHandler"/>
            </LinearLayout>
        </FrameLayout>
    </LinearLayout>
</TabHost>


然后添加一个按钮单击处理程序

public void tabHandler(View target){
    artistButton.setSelected(false);
    albumButton.setSelected(false);
    songButton.setSelected(false);
    if(target.getId() == R.id.artist_id){
        tabHost.setCurrentTab(0);
        artistButton.setSelected(true);
    } else if(target.getId() == R.id.album_id){
        tabHost.setCurrentTab(1);
        albumButton.setSelected(true);
    } else if(target.getId() == R.id.song_id){
        tabHost.setCurrentTab(2);
        songButton.setSelected(true);
    }
}


这应该删除所有线条和灰度。

关于android - 删除灰度的TabWidget边框/边缘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6903078/

10-10 23:29