标签栏隐藏问题android

Muh*_*ran 4 android android-tabhost

我是android的新手,我正在使用tabHost添加一些标签,它工作得很好但是当我在横向模式下旋转我的设备它也可以在那里工作但我不需要标签栏那里因为它覆盖了很多空间而且我也有谷歌广告,所以它们都覆盖了屏幕的一半,留下一点空间供用户进行交互.我需要的是一个解决方案,以某种方式隐藏标签栏,就像我们可以在iPhone上做一些空间用户进行交互.我需要一些紧急的解决方案.谢谢

Ade*_*aiz 6

我认为您应该将Tab小部件包装在任何ViewGroup中,例如LinearLayout或RelativeLayout,并在tabActivity中创建一个静态函数来显示/隐藏此包装器.这里有一些代码可能对您有所帮助.

<LinearLayout
        android:id="@+id/popupTabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:visibility="gone">
        <TabWidget android:id="@android:id/tabs"
        android:layout_height="wrap_content" 
        android:layout_width="fill_parent"></TabWidget>
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

现在你的标签活动应该做这样的事情.

public class TabsView extends TabActivity { 
    public static LinearLayout popupTabs ;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        popupTabs = (LinearLayout) findViewById(R.id.popupTabs);

        // Your other code
        //............
        //............
    }

    // Show Tabs method
    public static void showTabs(){
        popupTabs.setVisibility(ViewGroup.VISIBLE);
    }

    // Hide Tabs method
    public static void hideTabs(){
        popupTabs.setVisibility(ViewGroup.GONE);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,您可以从代码中的任何位置静态调用此方法,如下所示

// hide tab from any activity
TabsView.showTabs();

// hide tab from any activity
TabsView.hideTabs()
Run Code Online (Sandbox Code Playgroud)


Par*_*han 5

对于 Hide

mTabHost.getTabWidget().setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

对于 Visible

mTabHost.getTabWidget().setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)