2016-11-21 86 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

是的,我这样做。我仍然不知道为什么 –