6

4 つのタブを持つアプリケーションがあります。デフォルトでは、すべてのタブ幅は画面幅の 1/4 です。どうすればこれをオーバーライドできますか?

タブごとに異なる幅にする必要があります。それを達成する方法についてのアイデアはありますか?

4

4 に答える 4

2

これを試して:

tabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 35; 
于 2012-03-19T05:05:44.600 に答える
1

最後に、ToggleButton を使用して異なるサイズのタブを作成することができました。

私のXMLはこのようなものです

<LinearLayout
  android:id="@+id/tabs"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  android:layout_below="@id/header"
>

  <ToggleButton
  android:id="@+id/tab1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
    android:drawableRight="@drawable/icon_home"
    android:textOn=""
    android:textOff=""
    android:background="@drawable/tabselector"
    android:paddingLeft="15dip"
    android:paddingRight="15dip"
    android:layout_weight="0"
    />
        <ImageView
    android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/top_menubar_separator" />

<ToggleButton
  android:id="@+id/tab2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
    android:drawableRight="@drawable/icon_store"
    android:textOn="Store"
    android:textOff="Store"
    android:background="@drawable/tabselector"
    android:paddingLeft="15dip"
    android:paddingRight="15dip"
    android:layout_weight="2"
    />

各 ToggleButton はタブです。ここでのコツは、重みを使用してタブを拡張し、画面を完全に埋めることです。

teab_selector.xml は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item   android:drawable="@drawable/top_menubar_selected"
            android:state_pressed="true"
           />
 <item  android:drawable="@drawable/top_menubar_selected"
            android:state_checked="true"
           />
      <item     android:drawable="@drawable/top_menubar_1px" />
</selector>

新しいボタンが選択されたときにボタンを押し下げて、ta アクティビティでインテントを起動するためのロジックをコーディングする必要がありますが、今のところ見栄えがします。

于 2010-08-25T11:50:01.790 に答える
0

これを試して:

<TabWidget android:layout_width="wrap_content" ... />
于 2010-08-24T20:07:29.923 に答える