2013-12-21 70 views
1

我想設計AlertDialog,但我無法擺脫黑色的周圍(如紅線所示)和周圍的橙色(如藍色線所示)。 enter image description here設計AlertDialog中的問題

這是我的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:orientation="vertical" 
    android:background="@android:color/darker_gray" > 

    <TextView 
     android:src="@drawable/save_as" 
     android:id="@+id/label_save_as" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@android:color/black" 
     android:text="@string/save_as" /> 

    <EditText 
     android:id="@+id/filename" 
     android:inputType="textEmailAddress" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp" 
     android:layout_marginLeft="4dp" 
     android:layout_marginRight="4dp" 
     android:layout_marginBottom="4dp" 
     android:hint="@string/filename" /> 

</LinearLayout> 

這是代碼:

AlertDialog.Builder saveAsBuilder = new AlertDialog.Builder(this); 
    LayoutInflater saveAsInflater = this.getLayoutInflater();  
    saveAsBuilder.setView(saveAsInflater.inflate(R.layout.saveas, null)) 
       .setNeutralButton(R.string.saveAsImg, new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int id) { 
          // do something 
        } 
       }) 
       .setPositiveButton(R.string.saveAsSkt, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
           // do something 
        } 
      });  
    d = saveAsBuilder.create(); 
    d.setCanceledOnTouchOutside(true); 
    d.show(); 

如何才能擺脫這些的? 順便說一句,我使用的API 10

+0

發表你如何在代碼中設置視圖? –

+0

謝謝,我編輯 – SharonKo

+0

以上的帖子DialogFragments會給你更好的體驗,並讓你使用更現代的方法。 – Kuffs

回答

1

一旦試圖改變這樣的,並嘗試..

AlertDialog.Builder saveAsBuilder = new AlertDialog.Builder(this,android.R.style.Theme_Translucent); 

設置主題爲對話框取出黑色空間

使用對話框..

Dialog dialog=new Dialog(getApplicationContext()); 
    dialog.setContentView(R.layout.yourlayout); 

爲此,你必須創建佈局兩個按鈕和實施偵聽器的..

+0

我正在使用API​​ 10,構造函數適用於API 11及以上版本。 – SharonKo

+0

ohh..ok ..然後你可以使用正常的對話框.. –

+0

我應該怎麼做?對話框不識別setView(); – SharonKo