2012-01-03 3 views
4

안드로이드 개발에 새로운입니다. 나는 하나의 안드로이드 응용 프로그램을 작성하고 그 다음 내 main.xml에 암이 다음과 같은 경고를 받고android layout creation issue

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/RelativeLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/bg" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<LinearLayout android:id="@+id/grid_layout_1" 
    android:layout_centerInParent="true" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 
    <Button android:id="@+id/btnLogin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/login_btn_text"/> 
    <Button android:id="@+id/btnRegister" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/reg_btn_text"/> 

</LinearLayout> 
</RelativeLayout> 

입니다했다 :

This LinearLayout layout or its RelativeLayout parent is possibly useless; 
transfer the background attribute to the other view 

사람이 경고의 이유와이 문제에 대한 해결책을 알 수 있습니다. ?

+0

여기에 멋진 팁 : ** [Android SDK 도구 : 레이아웃 최적화] (http://mobile.tutsplus.com/tutorials/android/android-sdk-tools-layout-optimization/) ** –

답변

6

RelativeLayout 안에 LinearLayout 만있는 실제 사용법은 없습니다. 그래서 이것들 중 하나는 불필요합니다.

편집

레이아웃도 레이아웃 만 한 아이가이 경고가 트리거됩니다. 이 경우 둘 중 하나는 문제없이 제거 될 수 있습니다. 이러한 중복 레이아웃은 UI의 전반적인 성능을 저하시킬 수 있으므로이를 제거하는 것이 좋습니다.

+0

@Paresh Mayan : LinearLayout은 RelativeLayout의 유일한 자식입니까? 이유를 설명해주세요. 관심이 있으 십니다. – WarrenFaith

+0

@PareshMayani 그가 맞을 때부터 보여주세요. 질문에 제기 된 것처럼 RelativeLayout 내부에 LinearLayout을 가질 이유가 없습니다. –

+0

@all : 동일한 UI에 더 많은 요소를 포함해야합니다. 그것의 다만 moke는 창조하기 위하여려고하고있다. 그리고 그 첫 단계에서 나는이 경고를 얻었다. 그래서 나는 여러 레이아웃을 다루는 것에 대한 전문가의 이해를 얻기 위해 질문을 게시했습니다. –

2

내가 방금 알아 본 것처럼 귀하의 질문에 대한 답변은 새로운 린트 "도움"을 비활성화하는 것입니다. 나는 안드로이드에서 시작하는 누군가에게 도움이된다고 생각하지만, 그들이 무엇을하고 있는지를 아는 누구에게나 그것은 단지 성가신 것입니다. 예를 들어, "쓸모없는"중첩 선형 레이아웃은 런타임에 (또는 수십억 개의 다른 유효한 요소만으로) 채워지기를 기다리고있는 패딩 된 레이아웃 내부의 버튼 일 수 있습니다.

환경 설정에서 android/lint 아래에서 경고를 사용 중지하면 더 이상 경고가 표시되지 않습니다.

0

이동 스크롤

Window -> Preferences -> Android -> Lint Error Checking

"UselessParent" 옵션을 찾을 수 있습니다. severity 옵션을 Ignore으로 변경하십시오.

0

첫 번째 Android 앱을 디자인 할 때이 메시지가 표시됩니다. 나는 "T"에 이르기까지 책에서 말한 것과 똑같이 모든 것을 타이핑했고, 여러 번 모든 것을 여러 번 확인했다.

제 생각에는 책이 오래되었을 수도 있지만 1 년 전입니다.

나는 책을 쓰는 사람이 그들이 무엇을하고 있는지 알 것입니다. 그것은 "안드로이드 애플 리케이션 개발에 대한 완전한 바보의 가이드"입니다.

나는 린트 옵션을 알고 있지만 쓸모가 없어도 이것을 사용하는 이유는 무엇입니까?