如何隐藏tabhost中的TabWidget

我在程序中使用tabhost 。我使用下面的代码来添加 intent:

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

intent = new Intent().setClass(this, AActivity.class);
spec = tabHost.newTabSpec("Files").setIndicator("NAS Files", res.getDrawable(R.drawable.ic)).setContent(intent);
tabHost.addTab(spec);

在 AActivity中,当点击按钮时,我想隐藏 tabs(TabWidget),然后点击两次显示tabs。如何实现?

button.setOnClickListerner(new View.OnclickListerner(){
public void onClick(View view) {
tab.setVisable(View.VISABLE);
//or View.GONE
}
});

找到TabWidget,然后设置visibility为gone
同样显示设置为visible

以程序化形式实现

tabhost.setVisibility( View.VISIBLE );
tabhost.setVisibility( View.INVISIBLE );
tabhost.setVisibility( View.GONE );

因此,你可以在 tabHost 上设置 OnClickListener 来改变 view 的可视度。

private OnClickListener tabClickListener = new OnClickListener() {
    public void onClick(View v) {
        v.setVisibility( View.INVISIBLE );
    }
};

tabhost.setOnClickListener( tabClickListener );

在AActivity里面getParent.findViewById可以找到tabhost里面的控件,然后设置隐藏或显示

TabWidget tabWidget = tabHost.findViewById(android.R.id.tabs);
tabWidget.setVisibility(View.GONE);