2

現在、AndroidTabWidgetを使用しています。http://mobileorchard.com/android-app-development-tabbed-activities/に基づいてこのTabWidgetを構築し
ました。すでにTabWidgetに背景を追加しました
が、選択したタブと押されたタブのハイライトが常に表示され、できません。まだオフにします。

これが写真です(まだ新しいので、申し訳ありませんが画像を直接追加することはできません)。:
1。デフォルトで選択されたタブ:http://postimage.org/image/9ryed6w5b/
2.押されたタブ:http://postimage.org/image/gwg7m83en/

私が欲しいのは、デフォルトで選択されたタブの色と押されたタブの色を非表示にするかオフにすることです。これにより、画像の背景が完全に表示され、これらの色によってブロックされることはありません。

任意の応答をいただければ幸いです。ありがとうございました :)

コード:

public void onCreate(Bundle savedInstanceState) {
        //hide title bar
        BasicDisplaySettings.toggleTaskBar(EpolicyMainActivity.this, false);
        //show status bar
        BasicDisplaySettings.toggleStatusBar(EpolicyMainActivity.this, true);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.epolicy);
        TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
        tabHost.setup();
        tabHost.getTabWidget().setBackgroundColor(0);
        tabHost.getTabWidget().setBackgroundResource(R.drawable.epolicy_menu_bar);      

        TabSpec spec1=tabHost.newTabSpec("Tab 1");
        spec1.setContent(R.id.tab1);
        spec1.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_home));

        TabSpec spec2=tabHost.newTabSpec("Tab 2");
        spec2.setContent(R.id.tab2);
        spec2.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_nab));

        TabSpec spec3=tabHost.newTabSpec("Tab 3");
        spec3.setContent(R.id.tab3);
        spec3.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_contact));

        TabSpec spec4=tabHost.newTabSpec("Tab 4");
        spec4.setContent(R.id.tab4);
        spec4.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_agen));


tabHost.addTab(spec1);
tabHost.addTab(spec2);
tabHost.addTab(spec3);
tabHost.addTab(spec4);
4

2 に答える 2

18

私はこれを追加し、最終的に動作します:

tabHost.getTabWidget().getChildTabViewAt(0).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(1).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(2).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(3).setBackgroundDrawable(null);
tabHost.setCurrentTab(0);
于 2012-05-01T03:24:34.417 に答える
1

TabLayoutオブジェクトを使用する場合、インジケーターを非表示にするには次のようにします。

tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.transparent, null));

乾杯。

于 2015-10-05T13:38:07.800 に答える