12

次のレイアウトで簡単なタブアクティビティがあります。

    <TabWidget
    android:id="@android:id/tabs"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"                  
    android:background="#ffffff00"        />

<FrameLayout            
    android:id="@android:id/tabcontent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"     
   android:background="#ffffff00"          />

タブのインジケーターとしてボタンを使用しています

tabHost.addTab(tabHost.newTabSpec("Tab1")
                .setIndicator(new Button(this))                
                .setContent(new Intent(this, TabActivity1.class)));   

tabHost.addTab(tabHost.newTabSpec("Tab2")
                .setIndicator(new Button(this))                
                .setContent(new Intent(this, TabActivity2.class)));

この場合、FrameLayoutは常に上部に黒い線と影の効果があります(ボタンの下に表示されます)。

代替テキスト

問題は、どうすればこの行を取り除くことができるかということです。Androidソースでそれを描画する方法はどこにありますか?

4

5 に答える 5

17

カスタムテーマをアクティビティに適用し、android:windowContentOverlay属性を無効にします。

themes.xmlでテーマを定義します。

<style name="YourTheme" parent="if you want">
  ...   
  <item name="android:windowContentOverlay">@null</item>
  ...
</style>

アプリケーションまたはAndroidManifest.xmlのアクティビティにテーマを適用します。

<application android:theme="@style/YourTheme"
  ... >

それが役に立てば幸い。それは私にたくさんの頭痛を引き起こしました...

于 2010-09-09T17:12:59.803 に答える
8

レイアウトxml:

<TabWidget ... 
    android:tabStripEnabled="false" >

 ... 

</TabWidget>
于 2010-08-27T09:29:32.120 に答える
0

その方法は、タブウィジェットをLinerLayoutにネストすることのようです...こちらをご覧ください。

于 2010-08-18T12:40:43.870 に答える
0

残念ながら、あなたはそれを取り除くことはできません。これは、のTabWidget実装方法の結果です。内部的にTabWidgetはでActivityGroupあり、各タブの内容は独自のものActivityです。

于 2010-08-23T18:26:20.983 に答える
0

GrreenDroidが提供するライブラリを使用することをお勧めします:http ://android.cyrilmottier.com/?p = 274

GDTabActivityをご覧ください。すべてを微調整して、このバーを取り除くことができます。

http://android.cyrilmottier.com/medias/actionbar/action_bar_4.png

于 2010-08-25T00:22:40.250 に答える