
1、d窗Dialog
package com.lee.len.test.dialogdemo;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
/**
* @description:屏幕保洁
* @copyright: Copyright (c) 厦门立林科技有限公司
* @author: lw
* @date: 2021/5/25 10:25
*/
public class ScreenCleanDialog extends Dialog{
public ScreenCleanDialog(Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_screen_clean);
}
}
2、d窗布局
3、调用Dialog的Activity
package com.lee.len.test.dialogdemo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btnShowDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnShowDialog = findViewById(R.id.btnShowDialog);
btnShowDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog();
}
});
}
private void showDialog() {
ScreenCleanDialog dialog=new ScreenCleanDialog(MainActivity.this);
//拿到LayoutParams,其实也就类似常用的FrameLayout.LayoutParams这种
WindowManager.LayoutParams localLayoutParams = dialog.getWindow().getAttributes();
//这里就是设置gravity位置了
localLayoutParams.gravity = Gravity.TOP | Gravity.START;
//xy就是d窗位置,这个位置可以自己随便写
localLayoutParams.x =500;
localLayoutParams.y = 100;
dialog.getWindow().setAttributes(localLayoutParams);
dialog.show();
}
}
4、MainActivity的布局
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)