0

tab背景(204px x 54px)を持つレイアウト(これから)があります。

私はそれtabを多くのサイズに設定しました: 現時点では 70dp x 40dp に設定されています:

ここに画像の説明を入力

ご覧のとおり、XML ではデバイスで表示されるように表示されますが、実行すると幅と高さが無視されるため、元どおりに表示されます (おそらく、背景画像)。

ただし、それらtabsは LinearLayout 内に配置されるため、数回膨張させてtabsContainerレイアウトに追加します。

<LinearLayout
        android:id="@+id/tabsContainer"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >

    </LinearLayout>

ご覧のとおり、高さを 40 dp に設定しましたが、機能しています。レイアウトをストレッチしていますが、幅 tabも減らしたいです。tabここに画像の説明を入力

写真でわかるように、最後の 1 つのタブの幅は、tabsContainer.

ヒントを教えてください。

UPADTE

今、私のタブレイアウトは次のようになっています:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/inactiu_docs"
android:clickable="true"
android:gravity="center" >

<TextView
    android:id="@+id/titlePestanya"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="2dp"
    android:text="Producto simple"
    android:textColor="@color/black" />

そして、これは私が膨らませるために使用しているコードです:

RelativeLayout pestanya = (RelativeLayout) this.mInflater.inflate(R.layout.pestanya_per_inflar, null);

私はそれを次のようにしようとしました:

RelativeLayout pestanya = (RelativeLayout) this.mInflater.inflate(R.layout.pestanya_per_inflar, tabsContainer);

しかし、それはエラーでクラッシュしています:

android.widget.LinearLayout は android.widget.RelativeLayout にキャストできません

解決済み 膨らま せるときにこれを使用します。

inflate(R.layout.pestanya_per_inflar, tabsContainer, false);

以前の XML レイアウトを使用します。

4

1 に答える 1

1

親が の場合は、タブで とLinearLayoutを使用する必要があります。android:layout_width="0"android:layout_weight="1"

膨らませるときは、必ず親を渡してください。

お役に立てれば。

編集:親を渡さずにインフレートしないでください。そうしないと、xmlパラメーターが失われます(詳細)

于 2013-06-04T08:29:56.380 に答える