0

TabWidget のタブにカスタム背景を設定しようとしています。それらはほとんどすべて長方形のグラデーションの集まりですが、背景のドローアブルを設定すると、各タブ間のデフォルトの仕切りが削除されることがわかりました。これを改善するために、レイヤー リスト ドローアブルを使用して、タブの上に仕切りを重ねました。ただし、現在、タブ自体のレイアウトに影響を与えており、画像とテキスト ラベルが離れて移動しています。

意図した結果
背景にレイヤーリストを使用して得られるもの

これを使用して背景をセットアップしています:

TabWidget tw = mTabHost.getTabWidget(); 
for (int i = 0; i < tw.getChildCount(); i++) { 
    View v = tw.getChildAt(i); 
    v.setBackgroundDrawable(getResources().getDrawable (R.drawable.tab_background)); 
}

なぜこれが起こっているのか、または代わりに他に何ができるかについての提案はありますか?

4

1 に答える 1

1

レイヤーリストを背景として使用すると、ビュー内のすべてのパディングが 0 にリセットされるようです。背景のドローアブルを概念的に考えると、少し無意味です。以前のパディングを保存して、以前の状態に戻すと、問題が修正されます。

于 2010-11-30T03:49:20.047 に答える