我们怎样才能使Tab布局自动隐藏?

时间:2011-07-21 14:38:36

标签: java android

通常我们可以在运行时隐藏特定标签。但我需要使整个标签布局可隐藏。当我点击屏幕一旦出现,其他时间它将消失。这可能吗?我在motorola Droid X手机的相机应用程序中看到了这一点。 请帮我。 提前谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用setVisibility(8);:)

您在您的linearLayout中添加了一个ID并使用以下代码在代码中进行管理:

LinearLayout l=(LynearLayout) findViewById(R.id.myId);
l.setOnClickListener(this);

public void OnClick(View v){
    myTab.setVisibility(View.GONE);
}

答案 1 :(得分:0)

此示例使用TabActivity。关键是让它的TabWidget不可见。

public class MainActivity extends TabActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Resources resources = getResources();
        TabHost host = getTabHost();
        TabHost.TabSpec spec;
        spec = host.newTabSpec("one")
            .setIndicator(getText(R.string.oneTabIndicator),
                    resources.getDrawable(R.drawable.ic_tab_one))
            .setContent(new Intent().setClass(this, OneActivity.class));
        host.addTab(spec);
        OneActivity child = (OneActivity)getLocalActivityManager().getActivity("one");
        child.registerParentActivity(this);
            // and so on for other tabs
    }

    public void toggleTabs() {
        TabWidget tab = getTabHost().getTabWidget();
        int visibility = View.GONE;
        if (tab.getVisibility() == View.GONE) {
            visibility = View.VISIBLE;
        }
        tab.setVisibility(visibility);
    }

}

和...

public class OneActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        // ...
        Button button = (Button)findViewById(R.id.toggleButton);
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                doToggle();
            }
        });
    }

    private void doToggle() {
        ((MainActivity)myParentActivity).toggleTabs();
    }

    public void registerParentActivity(Activity parent) {
        myParentActivity = parent;
    }
}

您只需要决定要用来调用toggleTabs()版本的机制。