2012-07-12 3 views
4

DialogFragment를 사용하고 있으며 일반/소형 장치 (전화)에서 전체 화면을 사용하는 대화 상자를 지정하는 간단한 방법이 있는지 알고 싶습니다. 앱 설치를 선택한 후 Google Play에 표시되는 확인/권한 대화 상자를 예로들 수 있습니다. 태블릿, 정상적인 방법으로 표시 대화 상자에서DialogFragment 전화 화면 입력

enter image description here

+0

호기심. 전화기인지 테이블인지 어떻게 판단 할 수 있습니까? – Seunghoon

+0

구현에 따라 달라지는 차이를 확인하는 정의 된 방법을 알지 못합니다. 내 질문은 정상/작은 화면에 전체 화면 대화 상자를 표시하는 것입니다. – mkso

+1

가능한 [대화 상자 조각 포함은 장치에 따라 다릅니다] (http://stackoverflow.com/questions/10996217/dialog-fragment-embedding-depends-on-device) – EdChum

답변

2

.

DialogFragment newFragment = MyDialogFragment.newInstance(); 
newFragment.show(getFragmentManager(), "dialog"); 

전화에서 Activity의 onCreate()에서 DialogFragment를 일반 조각으로 레이아웃에 추가합니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    if (savedInstanceState == null) { 
     FragmentTransaction ft = getFragmentManager().beginTransaction(); 
     DialogFragment newFragment = MyDialogFragment.newInstance(); 
     ft.add(R.id.embedded, newFragment); 
     ft.commit(); 
    } 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/embedded" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

</FrameLayout> 

참고 : < 조각 > 태그가 내장 된 조각이 작동하지 않습니다.

6

DialogFragment로 화면을 채우려면 테마를 간단히 변경할 수 있습니다. 전체 화면에는 Android 스타일을 사용합니다. 스타일은 .Home_Light이고, 전체 화면이 아닌 대화 상자에는 android.R.style.Theme_Holo_Light_Dialog를 사용하십시오.

에 대한 호출이 값을 사용

의 setStyle (DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Dialog); // example as

이 메서드는 onCreate() 끝 부분에서 호출합니다.

희망이 재스퍼을하는 데 도움이

0

같은 (정확한 다이어그램과 함께!) 질문과 대답 (을 물어 하나.)이 있었다 대답은 너무 리소스 폴더를 활용 유효한 하나입니다 분류. Dialog fragment embedding depends on device