0

私の質問は、下のフルスクリーンで透明なダイアログを表示したくないということです私が使用したコードです

 dialog = new Dialog(this, R.style.CustomDialogTheme);
    dialog.setContentView(R.layout.enterjoinseecode_dialog);

CustomDialogテーマ

  <style name="CustomDialogTheme" parent="@android:style/Theme.Translucent.NoTitleBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowFullscreen">false</item>
</style>

誰かが私が間違っていたところを助けてください

4

3 に答える 3

0

背景が透明なアクティビティを作成し、その特定のアクティビティに対して、このようなテーマを定義します

<activity android:theme="@android:style/Theme.Dialog" />

また、そのアクティビティをダイアログとまったく同じにしたい場合は、これを使用することもできます

android:excludeFromRecents="true"

最近のアプリのリストから削除します。

于 2013-01-04T12:02:58.970 に答える
0

これを試してください。以下のDialogようなビューを作成してください。

 <RelativeLayout
    android:layout_width="450dp"
    android:layout_height="250dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical" >

// Here you can add your component.

</RelativeLayout>

ダイアログをこのビューに設定します。

 dialog = new Dialog(this, R.style.CustomDialogTheme);
 dialog.setContentView(R.layout.enterjoinseecode_dialog);

それだけです。これがお役に立てば幸いです。

于 2013-01-04T11:21:33.193 に答える
0

次の手順で、全画面表示なしで透明効果のあるダイアログを取得する方法

スタイル「CustomDialogTheme」を定義する必要はありません。コンストラクターのテーマ引数を android.R.style.Theme_Translucent_NoTitleBar として渡す必要があります。

インフレートされた xml では、バックグラウンドを android:background="#29000000" として使用して、透明な効果と、ダイアログを配置するための layout_gravity プロパティを使用しました。

上記のスタイルのCustomDialogThemeを使用すると、ダイアログではなくウィンドウとして表示されるため、直接テーマを適用してダイアログ(フルスクリーンではない)として表示し、xmlで透過効果を持たせるために、プロパティの背景を設定します

于 2013-01-04T12:14:13.660 に答える