我的AlertDialog显示在顶部有额外的边距,没有我声明它。
import android.support.v7.app.AlertDialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this.act);
builder.setView(R.layout.dialog_progress);
builder.setCancelable(false);
builder.setNegativeButton(R.string.cancel, null);
builder.create().show();
dialog_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateTint="@color/colorPrimary"/>
<TextView
style="@style/TextView.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="@string/fetching_location"/>
</LinearLayout>
我的应用程序的其他对话框看起来很好。
答案 0 :(得分:3)
在搜索了几个小时后,我终于找到了为什么我的对话框布局如此奇怪:
AndroidStudio从包android.support.v7.app
导入AlertDialog。我在我的应用中使用的其他对话框是从包android.app
导入的。更改导入后,一切看起来都很好:
也许这会帮助每个人遇到同样的问题。
答案 1 :(得分:0)
使用windowNoTitle:
<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:background">#ffffff</item>
<item name="android:textColorPrimary">#000000</item>
<item name="android:textColor">@000000</item>
<item name="android:typeface">monospace</item>
<item name="android:textSize">12sp</item>
</style>
在创建AlertDialog时定义此样式
AlertDialog.Builder builder =新的AlertDialog.Builder(container.getContext(),R.style.AlertDialogCustom);