0

タブホストを透明にするために、次のコードを実装しました..

    for(int i = 0; i < th.getTabWidget().getTabCount(); i++)
    {
    th.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT);
    }

これにより、すべてのタブの背景が ICS で正常に透明に変更されますが、2.2 と 2.3 でテストすると、最初の 3 つのタブの背景は透明で、最後の 3 つは透明ではありません (全部で 6 つのタブがあります) (ちなみに、最初の 3 つのタブはそのアクティビティが開始されたときに表示されるもの)

何が原因で、どうすれば解決できますか...助けてください..

あなたの提案を適用した後、これは私がコードに含めたものです。

        th.setOnTabChangedListener(new OnTabChangeListener(){
        @Override
        public void onTabChanged(String tabId) {
            manageTabBackgrounds();
        }

        private void manageTabBackgrounds() {
            // TODO Auto-generated method stub
            for(int i = 0; i < th.getTabWidget().getTabCount(); i++)
            {
            th.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT);
            }
        }           
    });

ただし、これはタブに影響を与えていないようです...ガイドしてください..

4

3 に答える 3

1

必ず onTabChanged... で実行してください。

あなたが持っているものを関数に貼り付けます(例:「manageTabBackgrounds」、次に:

yourTabHostInstance.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId) {
        manageTabBackgrounds();
    }           
});
于 2012-05-19T08:14:57.313 に答える
1

これが最終的に私のために働いたものです..

  th.setOnTabChangedListener(new OnTabChangeListener(){
        @Override
        public void onTabChanged(String tabId) {
            // TODO Auto-generated method stub
             for(int i=0;i<th.getTabWidget().getChildCount();i++)
                {
                   th.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT); //unselected
                }
                th.getTabWidget().getChildAt(th.getCurrentTab()).setBackgroundColor(Color.TRANSPARENT); // selected
        }
        });
于 2012-05-19T14:19:58.103 に答える
0

これを試しましたか?

<TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/transparent">
    </TabWidget>
于 2012-05-19T13:42:39.090 に答える