2016-12-28 2 views
-2

Besoin de faire une mise en page comme ceci. Voici une boîte d'alerte qui a un fond transparent contenant spinner et un bouton ci-dessous.Besoin d'un fond transparent comme celui-ci

enter image description here

j'ai essayé ce aussi loin.

Ceci est le fichier de disposition.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

> 


<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:background="#fff" 
    android:paddingBottom="50dp"> 

<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/selectCity_xspn" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentEnd="true" 
    android:layout_marginEnd="6dp" 
    android:layout_marginTop="75dp" /> 

    <Spinner 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/selectCity_xspn" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="70dp" 
     android:id="@+id/selectCtgry_xspn" /> 

<Button 
    android:text="Button" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/button2" 
    android:layout_marginTop="300dp" 


    android:layout_alignParentEnd="true" /> 

C'est la classe java où j'ai utilisé l'option transparente à de nombreux endroits, mais cela ne fonctionne pas.

accéder à la fonction en bas dans le bouton suivant.

customdialog_btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      onCreateDialog2().show(); 


     } 
    }); 

public Dialog onCreateDialog2() { 
    // Use the Builder class for convenient dialog construction 
    AlertDialog.Builder builder = new AlertDialog.Builder(Registeration.this); 



    View dialog_view = getLayoutInflater().inflate(R.layout.custom_dialog, null); 

    //dialog_view.setBackgroundResource(android.R.color.transparent); 
    builder.setView(dialog_view); 

    selectCity_spn=(Spinner)dialog_view.findViewById(R.id.selectCity_xspn); 
    selectCtgry_spn=(Spinner)dialog_view.findViewById(R.id.selectCtgry_xspn); 


    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.getBaseContext(), R.array.selectCity_spn, android.R.layout.simple_spinner_dropdown_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    assert selectCity_spn != null; 
    selectCity_spn.setAdapter(adapter); 

    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this.getBaseContext(), R.array.selectCtgry_spn, android.R.layout.simple_spinner_dropdown_item); 
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    assert selectCtgry_spn != null; 
    selectCtgry_spn.setAdapter(adapter2); 

    View v = getWindow().getDecorView(); 
    v.setBackgroundResource(android.R.color.transparent); 
    return builder.create(); 
} 
+4

jeter un oeil à Boîte de dialogue avec fond transparent dans Android http://stackoverflow.com/questions/10795078/dialog-with-transparent-background-in-android –

Répondre

1

Cela fera

Dialog dialog = builder.create(); 
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
return dialog; 
+0

où dans le code est-ce que je l'ai mis, il n'y a pas de variable appelée 'dialogue' ! –

+0

en bas de la méthode onCreateDialog2(). remplacez simplement builder.create() par ceux-ci. –

+1

merci frère. !! Tu es incroyable.! –

0

Essayez ceci: -

Dialog dialog1 = new Dialog(Main3Activity.this); 

       dialog1.setCancelable(true); 
       dialog1.setContentView(view1); 

       dialog1.show(); 
0

vous pouvez définir le fond transparent de toute disposition ou tout point de vue ou d'un composant en ajoutant ce code dans XML

android:background="@android:color/transparent"