2012-01-12 5 views
6

10.1의 모든 태블릿에 대한 응용 프로그램을 만들고 있는데 이제 삼성 갤럭시 탭에서이 작업을 시도하고 있습니다. 그 모든 부분을 다했으나 태블릿 크기와 관련하여 경고 대화 상자가 너무 작습니다. 사용자 지정 경고 대화 상자도 만들었지 만보기에는 좋지 않습니다. 그렇다면 기본 경고 대화 상자의 크기를 변경할 수 있습니까? 그렇다면 어떻게합니까?경고 대화 상자 또는 사용자 지정 경고 대화 상자의 크기

또는 기본 경고 대화 상자처럼 보이는 사용자 정의 경고 대화 상자를 만드는 방법

.

감사합니다.

답변

12

this 토론 그룹의 게시물에 안드로이드 플랫폼 개발자 다이앤 Hackborn에 따르면 this one

참조하십시오, 대화 상자는 WRAP_CONTENT 자신의 윈도우의 최상위 레이아웃 폭과 높이를 설정합니다. 대화 상자를 더 크게 만들려면 해당 매개 변수를 FILL_PARENT로 설정할 수 있습니다.

데모 코드 : 속성이 대화 후 설정되어 있는지

AlertDialog.Builder adb = new AlertDialog.Builder(this); 
Dialog d = adb.setView(new View(this)).create(); 
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.) 

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 
lp.copyFrom(d.getWindow().getAttributes()); 
lp.width = WindowManager.LayoutParams.MATCH_PARENT; 
lp.height = WindowManager.LayoutParams.MATCH_PARENT; 
d.show(); 
d.getWindow().setAttributes(lp); 

참고가 표시됩니다. 시스템은 설정 될 때 까다 롭습니다. (레이아웃 엔진은 대화 상자가 처음 표시 될 때나 레이아웃 엔진을 설정해야한다고 생각합니다.)

Theme.Dialog를 확장하여이를 수행하는 것이 더 좋을 것입니다. 추측 게임을하지 않아도됩니다. setAttributes를 호출 할시기. (대화 상자에 적절한 밝거나 어두운 테마 또는 Honeycomb Holo 테마를 자동으로 적용하려면 약간 더 많은 작업이 필요하지만 http://developer.android.com/guide/topics/ui/themes.html#SelectATheme에 따라 수행 할 수 있습니다.

관련 문제