2012-03-30 3 views
8

지금은 내 앱 전체에 MATCH_PARENT를 사용하고 있습니다. Android 2.1 사용자가 앱을 사용할 수 있도록 설정했지만 Android 2.2까지 MATCH_PARENT가 도입되지 않았습니다.FILL_PARENT 및 MATCH_PARENT

Android 버전이 2.2 이상인 경우 내 앱이 MATCH_PARENT를 사용하도록하려면 어떻게해야합니까? 2.1이면 FILL_PARENT를 사용하십시오 (나중에 열어보기로한다면 더 낮습니까?)?

답변

10

FILL_PARENTMATCH_PARENT은 사용자가 가지고있는 버전이 2.2 이상인 경우 동일합니다. FILL_PARENTMATCH_PARENT으로 자동 대체됩니다. 따라서 이전 버전과의 호환성을 위해 FILL_PARENT을 사용하는 것이 좋습니다.
Android 개발자 사이트에 블로그가 있습니다. 자세한 내용은 여기를 참조하십시오.

+1

와우, 나는 그것이 자동으로 바뀌는 것을 몰랐다. 양심의 가책을 느낀다면 그것을 피해야한다고 생각했습니다. 감사! – dokgu

+0

@ 독곡 _deprecated_는 어떤 이유로 비용을 지불해야한다는 것을 의미한다고 생각합니까? 이 경우 마이그레이션 경로가 없습니다. –

2

정확히 똑같은 것을했습니다. 그들은 2.2+의 구문을 변경했습니다. 나는 FILL_PARENT를 항상 사용한다고 말하고 싶다. 그래서 2.1이나 그 이하를 지원할 계획이라면 항상 작동 할 것이다.

+0

정보 주셔서 감사합니다! – dokgu

2

Android 2.1 이하를 지원하는 경우에도 더 이상 fill_parent을 사용하면 안됩니다. Java 컴파일러가 FILL_PARENT 또는 MATCH_PARENT과 같은 상수를 클래스 파일의 정적 값으로 정적으로 변환한다는 것을 알 수 있습니다. 레이아웃 XML 파일에서도 마찬가지입니다.

믿을 수 없다면 에뮬레이터에서 시도하십시오 (android:minSdkVersion="4"AndroidManifest.xml으로 지정해야합니다).

관련 문제