2011-01-08 40 views
2

晚上好,程序员。我有个问题。请帮我解决它。 我正在写一个android应用程序。我无法创建自定义对话框。我有错误或我的应用程序看起来非常糟糕。我的应用程序中有一些对话框。这里是我的程序的一部分:如何在android应用程序中创建并显示对话框?

该视图非常可怕,不是吗? 我希望其中一个布局位于对话框中,但它出现在主要活动中。为什么?

dialogtable.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/LinearLayout01" 
android:orientation="vertical" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
> 
    <LinearLayout 
    android:id="@+id/LinearLayout02" 
    android:orientation="horizontal" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    > 

    <TextView 
    android:id="@+id/textRows" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="left" 
    android:text="Amount of rows "/> 

    <TextView 
    android:id="@+id/textColumns" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:text="Amount of columns"/> 

    </LinearLayout> 

    <LinearLayout 
    android:id="@+id/LinearLayout03" 
    android:orientation="horizontal" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    > 

    <EditText 
    android:id="@+id/EditText01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:inputType="number" 
    android:gravity="right"/> 


    <EditText 
    android:id="@+id/EditText02" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right"/> 

    </LinearLayout> 

    <LinearLayout 
    android:id="@+id/LinearLayout04" 
    android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    > 

    <TextView 
    android:id="@+id/textBorder" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:text="Width of border"/> 

    <EditText 
    android:id="@+id/EditText03" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="right"/> 

    </LinearLayout> 
</LinearLayout> 

从MainActivity

@Override 
protected Dialog onCreateDialog(int id) { 
    LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE); 

    View layout = inflater.inflate(R.layout.dialogtable, (ViewGroup)findViewById(R.id.LinearLayout01)); 

    AlertDialog.Builder alert = null; 
    alert = new AlertDialog.Builder(this); 
    alert.setView(layout); 
    alert.setTitle("Create table"); 
    alert.setCancelable(false); 
    alert.setNegativeButton("Cancel",new DialogInterface.OnClickListener() { 

     @Override 
      public void onClick(DialogInterface dialog, int which) { 
      dialog.cancel(); 
     } 
    }); 

    alert.setPositiveButton("OK",new DialogInterface.OnClickListener() { 

     @Override 
      public void onClick(DialogInterface dialog, int which) { 

      Editable rows = fieldForRows.getText(); 
      Editable columns = fieldForColumns.getText(); 
      Editable border = fieldForWidthOfBroder.getText(); 


      TableAction tableAction = new TableAction(MainActivity.this.visualPane); 
      tableAction.insertTable(rows, columns, border); 
     } 
    }); 
    Dialog dialog = null; 
    dialog = new Dialog(this); 
    switch (id) { 
    case IDD_CUSTOM_INSERT_TABLE: 
     dialog.setTitle("Insert table"); 
     dialog.setContentView(R.layout.dialogtable); 
     return dialog; 
    case IDD_CUSTOM_INSERT_IMAGE: 
     dialog.setTitle("Insert image"); 
     return dialog; 
    default: 
     return alert.create(); 
    } 
} 

的代码的应用程序的出现之前调用的ShowDialog():

http://s015.radikal.ru/i330/1101/d0/f7cc38852dc6.jpg

的一个该应用程序的调用ppearance的ShowDialog()之后:

http://s003.radikal.ru/i201/1101/f0/d1ebc436427f.jpg

为什么它看起来那么可怕?哪里不对?

回答

相关问题