2014-03-31 146 views
0

我正在用XML自定義佈局構建一個簡單的AlertDialog。下面是它應該如何看(從Eclipse的拍攝):這僅僅4列:AlertDialog自定義視圖不出現

enter image description here

這裏是上圖中的XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="1.0" > 

    <ImageView 
     android:id="@+id/colorpicker_dialog_color1" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.25" 
     android:background="#FFF" 
     android:tag="0xFFF" /> 

    <ImageView 
     android:id="@+id/colorpicker_dialog_color2" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.25" 
     android:background="#FFDD66" 
     android:tag="0xFFDD66" /> 

    <ImageView 
     android:id="@+id/colorpicker_dialog_color3" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.25" 
     android:background="#66CCFF" 
     android:tag="0x66CCFF" /> 

    <ImageView 
     android:id="@+id/colorpicker_dialog_color4" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.25" 
     android:background="#B6C0D2" 
     android:tag="0xB6C0D2" /> 

</LinearLayout> 

這裏是服裝的代碼警報對話框:

public void showColorPickerDialog() { 
     LayoutInflater inflater = LayoutInflater.from(this); 
     View layout = inflater 
       .inflate(R.layout.color_picker_dialog, null); 

     ImageView clr1 = (ImageView) layout 
       .findViewById(R.id.colorpicker_dialog_color1); 

     clr1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // .. code 
      } 
     }); 

     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("cccc"); 

     builder.setView(layout) 
       .setCancelable(true) 
       .setPositiveButton("ok", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           dialog.dismiss(); 
          } 
         }).show(); 

    } 

問題是在我的對話框中我沒有看到任何列。

回答

0

嘗試在您的佈局中使用Views而不是ImageViews。在你的情況下使用ImageViews的問題是,因爲你沒有指定ImageViewsrc屬性,它將顯示一個0x0大小的圖像,這會讓你的視圖不可見。

+0

正確!謝謝 :) – Omar

相關問題