Android P 去对话框的的功能

现在android9.0有时候会出现一个对话框。

在 项目中的  Application 加上这一段代码就可以了

//Android P 对画框
private void closeAndroidPDialog(){
    try {
        Class aClass = Class.forName("android.content.pm.PackageParser$Package");
        Constructor declaredConstructor = aClass.getDeclaredConstructor(String.class);
        declaredConstructor.setAccessible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        Class cls = Class.forName("android.app.ActivityThread");
        Method declaredMethod = cls.getDeclaredMethod("currentActivityThread");
        declaredMethod.setAccessible(true);
        Object activityThread = declaredMethod.invoke(null);
        Field mHiddenApiWarningShown = cls.getDeclaredField("mHiddenApiWarningShown");
        mHiddenApiWarningShown.setAccessible(true);
        mHiddenApiWarningShown.setBoolean(activityThread, true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,创建一个带圆角的对话框(通常用于弹出窗口或提示信息)可以通过自定义布局以及使用`android.R.attr.shape`属性来实现。以下是一个简单的步骤: 1. **创建布局**: 使用XML文件创建一个新的对话框布局(例如`rounded_popup_window.xml`),添加一个`FrameLayout`作为根,并设置其背景为半透明的`PopupWindow`背景: ```xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rounded_popup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:padding="16dp" android:elevation="16dp"> <View android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/rounded_background"/> <!-- Your content goes here, like TextView or other views --> </FrameLayout> ``` 在这个布局中,`rounded_background.xml`文件用来定义圆角背景: ```xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="16dp" /> <!-- 设置圆角大小 --> <solid android:color="#80000000" /> <!-- 半透明黑色背景 --> </shape> ``` 2. **创建PopupWindow**: 在Java或Kotlin代码中,你可以这样创建并显示带有圆角的`PopupWindow`: ```java // 假设你已经有了一个Button或者其他触发事件的控件 Button button = findViewById(R.id.my_button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建一个带圆角的PopupWindow实例 PopupWindow popup = new PopupWindow(RoundedPopupWindow.this, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); // 设置布局 popup.setContentView(R.layout.rounded_popup_window); // 设置弹出位置 popup.showAtLocation(button, Gravity.CENTER, 0, 0); // 其他配置,如动画、点击后消失等 } }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值