4 つのタブを持つアプリケーションがあります。デフォルトでは、すべてのタブ幅は画面幅の 1/4 です。どうすればこれをオーバーライドできますか?
タブごとに異なる幅にする必要があります。それを達成する方法についてのアイデアはありますか?
4 つのタブを持つアプリケーションがあります。デフォルトでは、すべてのタブ幅は画面幅の 1/4 です。どうすればこれをオーバーライドできますか?
タブごとに異なる幅にする必要があります。それを達成する方法についてのアイデアはありますか?
これを試して:
tabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 35;
最後に、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 アクティビティでインテントを起動するためのロジックをコーディングする必要がありますが、今のところ見栄えがします。
これを試して:
<TabWidget android:layout_width="wrap_content" ... />