Android:在TabHost中对齐中心图像

时间:2014-03-07 09:29:13

标签: android image alignment android-tabhost

我制作了一个自定义TabHost,我只希望每个标签上没有文字的图像。如何将标签中心对齐我的图像?有什么帮助吗?谢谢。这是mi java代码: 的 JAVA

private void cargarTabHost() {

        tabs=(TabHost)findViewById(android.R.id.tabhost);
    tabs.setup(); 

    TabHost.TabSpec spec = tabs.newTabSpec("mitab1");
    spec.setContent(R.id.tab1);
    spec.setIndicator("", getResources().getDrawable(R.drawable.borrar));
    tabs.addTab(spec);

    spec = tabs.newTabSpec("mitab2");
    spec.setContent(R.id.tab2);
    spec.setIndicator("PLANO");
    tabs.addTab(spec);

    tabs.setCurrentTab(0);

    RelativeLayout.LayoutParams rllp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    rllp.addRule(RelativeLayout.CENTER_IN_PARENT);

    for (int i = 0; i < tabs.getTabWidget().getTabCount(); i++) {
        tabs.getTabWidget().getChildAt(i).getLayoutParams().height = 75;
        tabs.getTabWidget().getChildAt(i).findViewById(android.R.id.title).
        setLayoutParams(rllp);   
    }

    TabWidget tw = (TabWidget)tabs.findViewById(android.R.id.tabs);

            View tabView = tw.getChildTabViewAt(0);
    tabView.setBackgroundResource(Modulo.cargarColorPestanas(perfilObj.getColor()));

    View tabView2 = tw.getChildTabViewAt(1);
    tabView2.setBackgroundResource(Modulo.cargarColorPestanas(perfilObj.getColor()));

    tabs.setOnTabChangedListener(new OnTabChangeListener() {
        @Override
        public void onTabChanged(String tabId) {

            ...
        }
    });
}

1 个答案:

答案 0 :(得分:0)

尝试这样做,我没试过,但希望它有效。

...
 for (int i = 0; i < tabs.getTabWidget().getTabCount(); i++) {
        tabs.getTabWidget().getChildAt(i).getLayoutParams().height = 75;
        tabs.getTabWidget().getChildAt(i).findViewById(android.R.id.title)
       .setVisibility(View.GONE);
    }
...