0

次のようなレイアウトを作成する必要があります。

ご希望のレイアウト

左の 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>
4

2 に答える 2

1

試みることができます

<?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>
于 2012-05-11T18:13:27.227 に答える
0

おそらく、次のような 2 つのネストされた LinearLayout を使用する必要があるでしょう。いくつかの重要な属性を使用してスタブします。

<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>

単色を表示しているだけなので、画像ビューの代わりに機能する他のビューがいくつかあります。これはほんの一例です。setBackgroundColor()ImageView で使用して、色を変更できます。

于 2012-05-11T18:21:28.230 に答える