2012-01-12 33 views
2

カスタムリストアイテムを作成したいと思います。基本的には、水平のLinearLayoutに3つの領域があります。最も左側のものは50dp幅、最も右のものは50dpであるはずです。真ん中の人が残りのスペースを取りたいと思います。最後に "50px | width - 100px | 50px"にする必要があります。私はこれをプログラム的に行うことができることを知っています。しかし、私もXMLでそれを行うことはできますか?いつものようにAndroidレイアウトでの絶対サイズと相対サイズの混在 - 方法

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="100dp" 
    android:gravity="right" > 

    <FrameLayout 
     android:id="@+id/frameLayout1" 
     android:layout_width="50dp" 
     android:layout_ 
     android:layout_height="match_parent" 
     android:layout_weight="0"> 
    </FrameLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout2" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:gravity="fill" 
     android:orientation="vertical" 
     android:layout_weight="0"> 

    </LinearLayout> 

    <FrameLayout 
     android:id="@+id/frameLayout2" 
     android:layout_width="50dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0" > 

    </FrameLayout> 

</LinearLayout> 

:&多くのおかげで、あなたの巧妙なアイデアをお待ちして!

答えて

2

中間アイテムのレイアウトウェイトを1に設定し、layout_widthをfill_parentに設定します。

+0

今私は少しばかだと感じます。私はそれをやろうとしたことを誓ってもいいかもしれませんが、おそらくあなたはその気持ちでしょう。 http://developer.android.com/guide/topics/ui/declaring-layout.htmlよりも詳細なドキュメントを教えてください。体重の論理をもう少し説明してください。ありがとう! – fluxon

+0

アイテムは、ある程度のスペースをとります。次に、スペースがまだ残っている場合、残りの部分は、その重みに基づいて、異なる部分に分散されます。したがって、ウェイト0は何も得られません。ウェイト2はウェイト1などの余分なスペースを2倍にします。少なくとも、LinearLayoutのロジックです。 –

+0

この回答は1000になりました:-) –

関連する問題