아이스크림 샌드위치에서 Holo Dialog 테마 (@android:style/Theme.Holo.Dialog
)를 사용하는 활동에 약간 이상한 문제가 있습니다.ICS Holo Dialog 테마의 문제점은 무엇입니까?
그들은 레이아웃을 무시하고 XML 레이아웃의 레이아웃 너비와 높이 대신 전체 화면을 채우는 것처럼 보입니다. 동일한 레이아웃이 Honeycomb에서 예상대로 작동하지만 Ice Cream Sandwich에서는 작동하지 않습니다.
예 :
올바른 방법 (허니 콤)
두 장치 응용 프로그램의 동일한 버전을 실행하고 (아이스크림 샌드위치) 잘못된 방법으로, 똑같은 레이아웃을 사용하고 있습니다. 문제의 레이아웃은 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="940dp"
android:layout_height="600dp"
android:layout_margin="10dp" >
<GridView
android:id="@+id/gridView1"
android:layout_width="940dp"
android:layout_height="600dp"
android:horizontalSpacing="10dp"
android:numColumns="3"
android:smoothScrollbar="true"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" >
</GridView>
</LinearLayout>
어떻게 해결할 수 있습니까? ICS 기반 갤럭시 넥서스에서도 높이와 너비에 대한 match_parent
태그를 완전히 무시한 비슷한 문제가 발생합니다. 대화 테마가 ICS에서 깨졌습니까?
업데이트 : 좀 더 테스트를 완료했습니다, 그리고 그것은 "올바른"모양을 생산합니다 폭 이하의 894dp 것 같아,하지만 난 폭을 설정 한 경우 895dp하거나
더, 그것은 ' 잘못된 모양이 될 것입니다. 에뮬레이터는 같은 방식으로 작동합니다. 이것은 그래서 결국 대화 주제를 떨어 대신 전체 폭 표준 테마 레이아웃을 사용, 나는 이것에 대한 대답 자신을 찾을 수 없습니다
이상하게 보입니다. 어둠 속에서 촬영 한 것입니다.하지만 빌드 타겟을 변경 한 후 앱에서 이상한 그래픽 오류가 발생하는 경우가 있습니다. 이유는 모르겠지만 프로젝트를 청소하면 항상 문제가 해결됩니다. 내가 말했듯이 어둠 속에서 쐈지 만 그렇게 단순 할 수도 있습니다. – adneal
고마워, 그냥 다시 시도했지만 효과가없는 것 같아. 나는 방금 다시 내 질문을 업데이 트했습니다 - 그것은 폭 894과 895 dp 사이에 일어나고있는 것 같습니다. –
두 개의 개별 장치를 사용하여 스크린 샷을 찍었습니까? 귀하의 게시물은이 동작이 HoneyComb에서는 항상 제대로 작동하지만 ICS에서는 제대로 작동하지 않는다고 가정합니다. 그러나 문제는 화면의 크기에 전적으로 의존하고있을 가능성이 있습니까? 그렇지 않다면 정확하게 동일한 화면 크기로 두 개의 AVD (하나는 3.0을 실행하고 다른 하나는 4.0)를 만들고 두 개의 AVD를 테스트하여 문제가 실제로 Android SDK 버전 번호에 종속되어 있는지 확인할 수 있습니다. –