2013-07-05 4 views
7

sto trtying per creare questo layout di seguito, ma io riesco a ottenere il giusto layout che ho bisogno. Quello che sto cercando di realizzare è di personalizzare un box dailog, usando un layout. Ho provato a modificare l'xml qui sotto, ma se questo è mostrato come una finestra di dialogo il layout definito è un disastro. Per favore aiutami a capire cosa devo fare per questo. Grazie e guardando avanti. La finestra di dialogo è MOSTRA ma il layout non è soddisfatto.Android - Dialog Personalizzazione utilizzando un file XML di layout

Questo layout è quello che sto cercando di realizzare:

enter image description here

Dialog:

View checkBoxView = View.inflate(this, R.layout.display_item_dialog, null); 
CheckBox checkBox = (CheckBox)checkBoxView.findViewById(R.id.checkBox1); 
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     // Save to shared preferences 
    } 
}); 
checkBox.setText("Search All Images"); 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Image Preferences"); 
builder.setMessage(" Select from below ") 
.setView(checkBoxView) 
.setCancelable(false) 
.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 
    } 
}) 
.setNegativeButton("No", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 
     dialog.cancel(); 
    } 
}).show(); 

display_item_dialog.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:text="Map Category: BEVERAGES" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="200dip" 
     android:layout_height="200dip" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView1" 
     android:layout_marginTop="14dp" 
     android:src="@drawable/sunny" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView2" 
     android:layout_marginTop="28dp" 
     android:text="TextView" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/imageView1" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="47dp" 
     android:text="+" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/textView2" 
     android:layout_alignLeft="@+id/button1" 
     android:layout_marginBottom="14dp" 
     android:text="-" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/button2" 
     android:layout_alignRight="@+id/button2" 
     android:layout_below="@+id/button1" 
     android:ems="10" 
     android:clickable="false" > 

     <requestFocus /> 
    </EditText> 

    <CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView3" 
     android:layout_marginTop="33dp" 
     android:text="CheckBox" /> 

</RelativeLayout> 

risposta

5

Prova questo:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Map Category: BEVERAGES" /> 

    <LinearLayout 
     android:id="@+id/linear" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="14dp" 
     android:gravity="center_vertical" > 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="0dp" 
      android:layout_height="200dip" 
      android:layout_weight="0.6" 
      android:src="@drawable/ic_launcher" /> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.4" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/TextView01" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="TextView" /> 

      <Button 
       android:id="@+id/button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:text="+" /> 

      <EditText 
       android:id="@+id/editText1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:clickable="false" > 

       <requestFocus /> 
      </EditText> 

      <Button 
       android:id="@+id/button2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:text="-" /> 
     </LinearLayout> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="CheckBox" /> 
</LinearLayout> 

</ScrollView> 
+1

se c'è ancora un problema, allora metti l'intero layout in 'ScrollView'. –

+0

Sicuramente, grazie per questo. Ha funzionato.!!! – rahstame

+0

Contento di aver potuto aiutare. Accettalo come risposta :) –

6

È possibile fare riferimento a questo tutorial

http://www.mkyong.com/android/android-custom-dialog-example/

 final Dialog dialog = new Dialog(context); 
     dialog.setContentView(R.layout.custom); 
     dialog.setTitle("Title..."); 

     // set the custom dialog components - text, image and button 
     TextView text = (TextView) dialog.findViewById(R.id.text); 
     text.setText("Android custom dialog example!"); 
     ImageView image = (ImageView) dialog.findViewById(R.id.image); 
     image.setImageResource(R.drawable.ic_launcher); 

     Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 
     // if button is clicked, close the custom dialog 
     dialogButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       dialog.dismiss(); 
      } 
     }); 

     dialog.show(); 
+0

hi! Ho aggiunto il layout desiderato sopra. Sono un po 'preoccupato ora con il layout xml desiderato, signore Nirali. – rahstame

+0

Significa che non sei in grado di impostare la tua vista XML come quello che vuoi come per immagine? – Nirali

+0

L'immagine sopra è quella che ho bisogno di avere nel mostrare la mia finestra di dialogo o la finestra di dialogo dovrebbe apparire come l'immagine sopra. Devo lavorare con l'xml signore. – rahstame