日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 代码设置dialog 全屏,Android里把Dialog设置为全屏的方法

發布時間:2025/3/15 Android 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 代码设置dialog 全屏,Android里把Dialog设置为全屏的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android里把Dialog設置為全屏的方法

有的時候我們需要把Dialog設置為全屏,于是我們想到了如下的辦法:

//設置成全屏

LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

mDetailDialog.addContentView(detailView, p);

實際情況是dialog根本不會全屏,我的實現步驟如下:

1、定義Dialog類

package com.nes.seilivetv.ui.dialog;

import android.app.Dialog;

import android.content.Context;

import android.os.Bundle;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import com.nes.seilivetv.R;

import androidx.annotation.NonNull;

import androidx.annotation.Nullable;

public class EpgDetailInforDialog extends Dialog {

private Context mContext;

public EpgDetailInforDialog(@NonNull Context context) {

super(context);

View inflate;

mContext = context;

inflate = LayoutInflater.from(context).inflate(R.layout.epg_detail_info, null);

setContentView(inflate);

}

public EpgDetailInforDialog(@NonNull Context context, int themeResId) {

super(context, themeResId);

View inflate;

mContext = context;

inflate = LayoutInflater.from(context).inflate(R.layout.epg_detail_info, null);

setContentView(inflate);

}

protected EpgDetailInforDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {

super(context, cancelable, cancelListener);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}

public void setDialogLocation() {

Window win = this.getWindow();

WindowManager.LayoutParams lp = win.getAttributes();

lp.gravity = Gravity.END;

lp.width = WindowManager.LayoutParams.MATCH_PARENT;

lp.height = WindowManager.LayoutParams.MATCH_PARENT;

win.setWindowAnimations(R.style.dialogWindowAnim);

win.setAttributes(lp);

}

}

2、創建全屏Dialog

EpgDetailInforDialog epgDetailInforDialog = new EpgDetailInforDialog(getContext(), R.style.dialog_sen5_full);

epgDetailInforDialog.setDialogLocation();

epgDetailInforDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {

@Override

public void onDismiss(DialogInterface dialogInterface) {

Log.d("wujiang", "call epgDetailInforDialog dismiss");

}

});

epgDetailInforDialog.show();

注意:?一定要設置Dialog的theme,不然還真的不能全屏,它會是一個很大的Dialog。

3、在style.xml里增加如下的style

4、設置動畫

我這里使用的是dialogWindowAnim,定義如下:

side_panel_in和side_panel_out子anim文件夾下。

//side_panel_in

//side_panel_out

THE? ? ? ? ?END

總結

以上是生活随笔為你收集整理的android 代码设置dialog 全屏,Android里把Dialog设置为全屏的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。