2016-11-21 21 views
0

方向が水平、幅が0dp、および重さが設定されている場合、レイアウト内のLinearLayoutレイアウトが親と一致しません。このXMLファイルは、RecyclerViewのアイテムレイアウトに使用されます。レイアウトXMLファイルは以下の通りです:レイアウト内のLinearLayoutが親と一致しません

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" 
        android:layout_width="match_parent" 
        android:layout_height="150dp" 
        android:paddingTop="@dimen/screen_padding" 
        android:paddingLeft="@dimen/screen_padding" 
        android:paddingRight="@dimen/screen_padding"> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="60dp" 
      android:orientation="horizontal"> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="粤T24833" 
       android:textSize="30dp" 
       android:textColor="@color/deep_gray" 
       android:background="@drawable/border" 
       android:id="@+id/textView9"/> 

     <LinearLayout 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:orientation="vertical"> 

      <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:gravity="center" 
        android:text="行驶里程(km): 10000" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:background="@drawable/border" 
        android:id="@+id/textView11"/> 

      <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:gravity="center" 
        android:text="运行时间(min): 238" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:background="@drawable/border" 
        android:id="@+id/textView10"/> 
     </LinearLayout> 

    </LinearLayout> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:orientation="horizontal"> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="停车次数" 
       android:id="@+id/textView" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/deep_gray" 
       android:background="@drawable/border"/> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="熄火次数" 
       android:id="@+id/textView2" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/deep_gray" 
       android:background="@drawable/border"/> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="行驶次数" 
       android:id="@+id/textView3" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/deep_gray" 
       android:background="@drawable/border"/> 


     <LinearLayout 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:orientation="vertical"> 

      <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:gravity="center" 
        android:text="提速次数" 
        android:id="@+id/textView4" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/deep_gray" 
        android:background="@drawable/border"/> 

      <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:orientation="horizontal"> 

       <TextView 
         android:layout_width="0dp" 
         android:layout_weight="1" 
         android:layout_height="match_parent" 
         android:gravity="center" 
         android:text="80~100" 
         android:textSize="@dimen/font_24" 
         android:textColor="@color/gray" 
         android:background="@drawable/border"/> 

       <TextView 
         android:layout_width="0dp" 
         android:layout_weight="1" 
         android:layout_height="match_parent" 
         android:gravity="center" 
         android:text=">100" 
         android:textSize="@dimen/font_24" 
         android:textColor="@color/gray" 
         android:background="@drawable/border"/> 


      </LinearLayout> 

     </LinearLayout> 

    </LinearLayout> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="148" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:id="@+id/textView8" 
       android:background="@drawable/border"/> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="5" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:id="@+id/textView5" 
       android:background="@drawable/border"/> 

     <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="24" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:background="@drawable/border"/> 


     <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:orientation="horizontal"> 

      <TextView 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:layout_height="match_parent" 
        android:gravity="center" 
        android:text="3" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:id="@+id/textView6" 
        android:background="@drawable/border"/> 

      <TextView 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:layout_height="match_parent" 
        android:gravity="center" 
        android:text="25" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:id="@+id/textView7" 
        android:background="@drawable/border"/> 


     </LinearLayout> 


    </LinearLayout> 

</LinearLayout> 

をスクリーンショットでは、以下の通りです:
enter image description here

RecylerViewレイアウトXMLを:

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

    <include layout="@layout/view_line"/> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:gravity="center"> 

     <TextView 
       android:id="@+id/tv_start_date" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="2016-11-09" 
       android:textSize="@dimen/font_24"/> 

     <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text=" ~ " 
       android:textSize="@dimen/font_24"/> 

     <TextView 
       android:id="@+id/tv_end_date" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="2016-11-09" 
       android:textSize="@dimen/font_24"/> 

    </LinearLayout> 

    <include layout="@layout/view_line"/> 

    <android.support.v7.widget.RecyclerView 
      android:id="@+id/rclv_operative_table" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingTop="@dimen/screen_padding" 
      android:paddingBottom="@dimen/screen_padding"> 

    </android.support.v7.widget.RecyclerView> 

</LinearLayout> 
+0

「android:paddingRight = "@ dimen/screen_padding"」という値は、ここでもうまく使用できないでしょうか? –

+0

いいえ、動作しません。 –

+0

'GridLayout'を試してみるべきだと思います。 – Karakuri

答えて

1

私はあなたのコードには問題を見ていないので、私はありませんよ私の変更が助けになることは確かですが、試してみてください。また、Nested weights are bad for performanceの場合、あなたはそれを気にする必要があるので、あなたはそれを知っていると思います。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="150dp" 
    android:paddingTop="@dimen/screen_padding" 
    android:paddingLeft="@dimen/screen_padding" 
    android:paddingRight="@dimen/screen_padding"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:orientation="horizontal"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="粤T24833" 
      android:textSize="30sp" 
      android:textColor="@color/deep_gray" 
      android:background="@drawable/border" 
      android:id="@+id/textView9"/> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="30dp" 
       android:gravity="center" 
       android:text="行驶里程(km): 10000" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:background="@drawable/border" 
       android:id="@+id/textView11"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="30dp" 
       android:gravity="center" 
       android:text="运行时间(min): 238" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:background="@drawable/border" 
       android:id="@+id/textView10"/> 
     </LinearLayout> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:orientation="horizontal"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="停车次数" 
      android:id="@+id/textView" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/deep_gray" 
      android:background="@drawable/border"/> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="熄火次数" 
      android:id="@+id/textView2" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/deep_gray" 
      android:background="@drawable/border"/> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="行驶次数" 
      android:id="@+id/textView3" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/deep_gray" 
      android:background="@drawable/border"/> 


     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="20dp" 
       android:gravity="center" 
       android:text="提速次数" 
       android:id="@+id/textView4" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/deep_gray" 
       android:background="@drawable/border"/> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="20dp" 
       android:orientation="horizontal"> 

       <TextView 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:layout_height="match_parent" 
        android:gravity="center" 
        android:text="80~100" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:background="@drawable/border"/> 

       <TextView 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:layout_height="match_parent" 
        android:gravity="center" 
        android:text=">100" 
        android:textSize="@dimen/font_24" 
        android:textColor="@color/gray" 
        android:background="@drawable/border"/> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="148" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/gray" 
      android:id="@+id/textView8" 
      android:background="@drawable/border"/> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="5" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/gray" 
      android:id="@+id/textView5" 
      android:background="@drawable/border"/> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="24" 
      android:textSize="@dimen/font_24" 
      android:textColor="@color/gray" 
      android:background="@drawable/border"/> 


     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="3" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:id="@+id/textView6" 
       android:background="@drawable/border"/> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:text="25" 
       android:textSize="@dimen/font_24" 
       android:textColor="@color/gray" 
       android:id="@+id/textView7" 
       android:background="@drawable/border"/> 
     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 
+0

ありがとうございました。私はそうだと思うが、うまくいかない。 –

+0

dev_settings(開発者オプション)アクティブな 'Show Layout Bounds'を開くことができれば、あなたのレイアウトをキャプチャしてください。多分、私たちは何がそこに詰め物を作るのかについてのより多くの情報を持っています。 – NamNH

+0

ええ、私はそれを行う。私はまだなぜか分からない –

関連する問題