我想在我的AppCompatActivity的 onCreate 函数中显示一个AlertDialog ,并且由于某种原因它周围没有边距。看图片:
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//These are just some setters in the company code
MyApplication.setActivity(this);
setTheme(R.style.AppTheme);
setContentView(R.layout.activity_splash_screen);
Intent intent = getIntent();
String action = intent.getAction();
if(action != null && action.compareTo(Intent.ACTION_VIEW) == 0){
mHasContent = true;
mContentUri = intent.getData();
}else{
mHasContent = false;
}
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
initViews();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("title");
builder.setMessage("message");
builder.create().show();
}
我不知道是什么导致了问题,该对话框在我的代码中的其他位置正确显示。
(我试图将它放入 onResume 并且它不起作用。我只想在活动创建时显示它,这就是我尝试使用 onCreate 的原因。)
我的自定义 AppTheme 会导致问题吗?如果你这么认为,我附上我的 style.xml 的相关部分:
...
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
...
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="toolbarStyle">@style/Toolbar</item>
<item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
...
</style>
...
我试图创建一个新项目并将所有上层代码(styles.xml 和所有其他代码)放入其中,但我无法重现该错误。还有什么可能导致问题?
问题可能出在哪里?任何人都可以帮忙吗?
我也有一个具有覆盖 onCreate() 函数的应用程序类,并尝试删除这些函数调用,但没有任何改变。android中还有其他地方会影响这种行为吗?我不知道整个代码,因为它是一个公司应用程序,所以也许是其他一些被覆盖的方法或什么?