web-dev-qa-db-ja.com

Androidでフルスクリーンでアラートダイアログを作成する方法は?

Androidでフルスクリーンでアラートダイアログを作成する方法は?

12
user6629610

以下のコードを試してください

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this,Android.R.style.Theme_Black_NoTitleBar_Fullscreen);
22
emrekose26

ダイアログのカスタムスタイルを作成する必要があります

あなたのstyle.xmlで

_ <style name="DialogTheme" parent="Android:Theme.Dialog">

    <item name="Android:layout_width">fill_parent</item>
    <item name="Android:layout_height">fill_parent</item>   
    <!-- No backgrounds, titles or window float -->
    <item name="Android:windowBackground">@null</item>
    <item name="Android:windowNoTitle">true</item>
    <item name="Android:windowIsFloating">false</item>
</style>
_

ダイアログを膨らませながらこのテーマを設定します

dialog = new Dialog(this, R.style.DialogTheme);

13
SaravInfern

dialogFragmentを使用してAlertDialogを構築している場合、onResume()のLayoutParamsでMATCH_PARENTを設定できます。

@Override
public void onResume() {
    super.onResume();
    ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
    params.width = WindowManager.LayoutParams.MATCH_PARENT;
    params.height = WindowManager.LayoutParams.MATCH_PARENT;
    getDialog().getWindow().setAttributes((Android.view.WindowManager.LayoutParams) params);
}
2
madim

【方法1 |カスタムスタイルを使用する】

スタイルファイル:

_<style name="myFullscreenAlertDialogStyle" parent="Theme.AppCompat.Light.NoActionBar">      //no actionbar, but status bar exists
    <item name="Android:windowFullscreen">true</item>                       //remove status bar
    <item name="colorAccent">@color/colorAccent</item>                      //change button text color
</style>
_

In Java file:

_AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.myFullscreenAlertDialogStyle);   //second argument
_

【方法2 |組み込みスタイルを使用する】

In Java file:

_AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), Android.R.style.Theme_Material_Light_NoActionBar_Fullscreen);
_
  • このメソッドはボタンのテキストを緑色にします。dialog.getButton().setTextColor()を使用して変更できます。
2
Sam Chen