2014-01-07 38 views
1

的代碼片段:工具:ignore =「UselessParent」是什麼意思在Android XML佈局文件中?

<LinearLayout 
     android:id="@+id/fullscreen_content_controls" 
     style="?buttonBarStyle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|center_horizontal" 
     android:background="@color/black_overlay" 
     android:orientation="horizontal" 
     tools:ignore="UselessParent" > 

     <Button 
      android:id="@+id/dummy_button" 
      style="?buttonBarButtonStyle" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/dummy_button" /> 
    </LinearLayout> 

我不知道tools:ignore="UselessParent"手段。這是否意味着當棉絨發現按鈕填充了LinearLayout,然後LinearLayout將被刪除,並且Button將移動到父級並讓視圖層次高效?非常感謝!

+0

請參閱[參考鏈接](http://tools.android.com/tech-docs/tools-attributes)如果我的答案會幫助你,那麼請接受答案。 –

回答

6

在你的情況

tools:ignore="UselessParent"

告訴你的IDE,以避免顯示如下消息:「這RelativeLayout的佈局或它的LinearLayout父無用論」

考慮這種情況下:

<LinearLayout 
    android:id="@+id/detailLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <Button 
      android:id="@+id/downloadFormsButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_margin="10dp" 
      android:enabled="false" 
      android:text="@string/download_forms_button" /> 

     <TextView 
      android:id="@+id/formErrorMsg" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:padding="10dp" 
      android:textSize="16dp" > 
     </TextView> 
    </RelativeLayout> 
</LinearLayout> 

LINT錯誤消息顯示爲內部RelativeLayout

要避免出現警告消息,請轉到構建路徑 - >配置構建路徑....在Android Lint首選項下查找UselessParent並將其嚴重性設置爲忽略。

什麼是LINT?看看這裏:

http://developer.android.com/tools/help/lint.html

UPDATE:

前綴tools:被使用的IDE和當項目被編譯它並不考慮。

+0

我複製了代碼,並按照你的步驟行事。事情發生的正如你所說。非常感謝你的回答風格! – lzwjava

+0

在堆棧溢出中玩得開心! –

0

UselessParent是試圖確定是否可以移除父級佈局的檢查的Android lint問題標識符。

tools:ignore="UselessParent"禁用檢查指定元素及其子級的情況,以防止您想要抑制lint消息。