2016-11-21 58 views
0

的LinearLayout內部佈局不匹配的父,寬度是0dp,並設置重量。該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」''也不會'TableLayout'在這裏更好用嗎? –

+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(開發人員選項)激活的「顯示佈局邊界」,然後捕獲您的佈局。也許我們有更多關於什麼是填充的信息。 – NamNH

+0

是的,我這樣做。我仍然不知道爲什麼 –