2012-05-11 8 views
0

をfill_parent:AndroidのTextViewには、私は次のようなレイアウトを構築する必要がある

Desired layout

を左に3列は、その高さの合計先頭に不明であるTextViews、です。右側の要素は、背景色を動的に変更できる任意のウィジェットでなければなりません。そして、それは親を満たすためにその高さにまたがる必要があります。

どうすればこの問題を解決できますか?色を表示するためにどのウィジェットを使用すべきですか?レイアウトは?

私は右の要素のTextViewを使って次の試みを試みましたが、親を埋めることはありませんでした。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

<TextView 
    android:id="@+id/txtRow_color" 
    android:layout_width="10dip" 
    android:layout_height="fill_parent" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentBottom="true" 
    android:background="#ff23cf"  
    android:text="" /> 

    <TextView 
     android:id="@+id/txtRow_name" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_toLeftOf="@id/txtRow_color" 
     android:textColor="#FFFF66" 
     android:text="@string/nullstring" /> 

    <TextView 
     android:id="@+id/txtRow_Tweet" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/txtRow_name" 
     android:layout_toLeftOf="@id/txtRow_color" 
     android:layout_alignWithParentIfMissing="true" 
     android:gravity="center_vertical" 
     android:text="@string/nullstring" /> 

</RelativeLayout> 

答えて

1

おそらく、ネストされた2つのLinearLayouts、このようなものを使用する必要があるとしている

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:orientation="horizontal" android:weightSum="1"> 

    <LinearLayout android:layout_width="0dp" 
     android:layout_height="wrap_content" android:orientation="vertical" 
     android:layout_weight=".8"> 
     <TextView android:id="@+id/te" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:text="Text1" /> 
     <TextView android:id="@+id/tile" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:text="Text2" /> 
     <TextView android:id="@+id/e" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:text="Text3" /> 

    </LinearLayout> 

    <LinearLayout android:layout_width="0dp" 
     android:layout_height="fill_parent" android:layout_weight=".2" 
     android:background="@color/green"> 

    </LinearLayout> 
</LinearLayout> 
+0

トリックをしました! LinearLayoutがソリューションです。ありがとう! – thameera

0

試すことができ、私は重要な属性のいくつかでそれをスタブます:

<LinearLayout android:orientation= "horizontal"> 
    <LinearLayout android:orientation= "vertical" android:layout_height="fill_parent"> 
    <TextView android:layout_width="fill_parent" /> 
    <TextView android:layout_width="fill_parent" /> 
    <TextView android:layout_width="fill_parent" /> 
    </LinearLayout> 
    <ImageView android:layout_height="fill_parent" /> 
</LinearLayout> 

ソリッドカラーを表示しているだけなので、画像ビューではなく他のいくつかのビューがありますが、これは単なる例です。 ImageViewでsetBackgroundColor()を使用して色を変更することができます。

+0

ありがとうございます。私は別のソリューションで述べたようにLinearLayoutを使用していました。 – thameera

関連する問題