2015-02-10 123 views
3

我已经创建了一个布局,将其填充并将其分配给AlertDialog。一切都很好,但我无法弄清楚为什么我的AlertDialog显示空白。如何删除AlertDialog周围的空白区域或颜色

布局代码:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="20dp" 
    android:background="@drawable/dialog_backgrounds"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Player Name" 
     android:id="@+id/tvPlayerName" 
     android:textSize="24sp" 
     android:textIsSelectable="false" 
     android:textColor="#FFFFFF" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="textPersonName" 
     android:text="" 
     android:ems="10" 
     android:id="@+id/etPlayerName" 
     android:gravity="center" 
     android:textSize="24sp" 
     android:textColor="#FFFFFF" 
     android:background="@drawable/hintborder" 
     android:padding="4dp" 
     android:maxLength="5" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" /> 
</RelativeLayout> 

Android的Java代码:

View nameDialogView = View.inflate(MainActivity.this, R.layout.player_name_dialog, null); 
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
final AlertDialog dialog = builder.create(); 
dialog.setCancelable(false); 
dialog.setCanceledOnTouchOutside(false); 
dialog.setView(nameDialogView); 
dialog.show(); 

背景图像是PNG和九宫

结果我得到:

enter image description here

请指导我这里或有什么限制。谢谢。

回答

6

我改变AlertDialog为简单对话框,并添加了几行解决问题。

final Dialog dialog = new Dialog(MainActivity.this); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(nameDialogView); 
dialog.show(); 
dialog.getWindow().getDecorView().setBackgroundResource(android.R.color.transparent);