1

こんにちは私はこのような行を作成しようとしています: enter image description hereAndroidのカスタム列レイアウト

行する柔軟な高さになると背が伸びるべきでは字幕テキストが長いです。 左の緑色のビューも、行の高さ全体を満たすために大きくなるはずです。 行の高さは、テキスト(タイトル+字幕)のみに基づいて決定する必要があります。

これは私が作成したレイアウトです:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

     <View 
      android:id="@+id/is_in_range_view" 
      android:layout_width="15dip" 
      android:layout_height="fill_parent" 
      android:background="#99CC00" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/row_title" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dip" 
       android:layout_marginTop="5dip" 
       android:text="@string/title" 
       android:textSize="16sp" /> 

      <TextView 
       android:id="@+id/row_subtitle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dip" 
       android:layout_marginLeft="10dip" 
       android:text="@string/subtitle" 
       android:textSize="12sp" /> 

      <View 
       style="@style/SeparatorLine" 
       android:layout_width="fill_parent" 
       android:layout_height="1dip" 
       android:layout_marginTop="5dip" /> 
     </LinearLayout> 
</LinearLayout> 

しかし、これは私が得る結果である:

明らかに

enter image description here

ビューのlayout_heightプロパティのfill_parent値に問題があるが、このまさに私が欲しいものです! 私はちょうど行の高さが緑の表示ではなくテキストに基づいています。

どうすればいいですか?

+0

あなたが最も外側のLinearLayoutを持っていないのはなぜ?唯一の子は別のLinearLayoutなので、冗長なようです。 – Sam

+1

@Sam sortyあなたは正しいです。一定。しかし、それはまだそれを解決するdosen't –

答えて

1

いいえ、問題は私がlayout_heightの間違った値を内部LinearLayoutに入れて、TextView'sを保持していることです。 wrap_contentの代わりにfill_parentに設定しました。

一度wrap_contentに設定すると、すべてうまく行きました。

右レイアウトコード:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 

<View 
    android:id="@+id/is_in_range_view" 
    android:layout_width="15dip" 
    android:layout_height="fill_parent" 
    android:background="#99CC00" /> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/row_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dip" 
     android:layout_marginTop="5dip" 
     android:maxLines="1" 
     android:text="@string/title" 
     android:textSize="16sp" /> 

    <TextView 
     android:id="@+id/row_subtitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dip" 
     android:layout_marginLeft="10dip" 
     android:maxLines="3" 
     android:text="@string/subtitle" 
     android:textSize="12sp" /> 

    <View 
     style="@style/SeparatorLine" 
     android:layout_width="fill_parent" 
     android:layout_height="1dip" 
     android:layout_marginTop="5dip" /> 
</LinearLayout> 

関連する問題