6

私は DialogFragment を使用していますが、通常/小型のデバイス (電話) で全画面表示を使用するようにダイアログを指定する簡単な方法があるかどうかを知りたいです。私が達成したいことの例は、アプリのインストールを選択した後に Google Play に表示される確認/許可ダイアログです。

ここに画像の説明を入力

4

3 に答える 3

6

DialogFragmentで画面を埋めたい場合は、テーマを変更するだけです。フルスクリーンのandroid.R.style.Theme_Holo_Lightに使用し、フルスクリーン以外のダイアログにはandroid.R.style.Theme_Holo_Light_Dialogを使用します。

次の呼び出しでこれらの値を使用します。

setStyle(DialogFragment.STYLE_NO_TITLE、android.R.style.Theme_Holo_Dialog); //例として

onCreate()の最後にこのメソッドを呼び出します。

これがジャスパーに役立つことを願っています

于 2012-08-10T19:50:43.627 に答える
2

タブレットでは、通常の方法でダイアログを表示します。

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

Phone では、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>

注: <Fragment>Tag によって埋め込まれたフラグメントは機能しません。

于 2012-07-23T19:25:37.477 に答える