2015-12-07 24 views
5

Sto implementando un'app per Android. Voglio chiamare o pop-up frammento sul pulsante di valutazione.Come chiamare o pop-up frammento al clic del pulsante

Ad esempio, qui ho allegato screenshot. Quando clicco sul pulsante di tasso così come chiamare pop-up o un frammento come questo

enter image description here

enter image description here

Ti prego, aiutami come chiamare questi frammenti?

+0

mostrare il codice per favore –

+0

Non ho scritto il codice. Sto chiedendo di questo @IntelliJ Amiya –

risposta

2

È necessario progettare un altro layout solo per visualizzare il popup e renderlo alignparenttop. Ecco il layout esempio

Creare un nuovo file xml dialogue.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainLyt" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="#FFFFFF" 
     android:paddingTop="10dp" > 

     <TextView 
      android:id="@+id/close" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="10dp" 
      android:text="Fill in your design in this place" 
      android:textSize="10dp" /> 


    </RelativeLayout> 

</RelativeLayout> 

Dopo aver creato il vostro disegno. Devi chiamarlo nel tuo clic on-button. Di seguito è riportato l'esempio per mostrare un dialogo

ratingButton.setOnCLickListener(new view.OnCLickListener(){ 
    @Override 
    public void onCLick(View v){ 
     final Dialog fbDialogue = new Dialog(ProfileActivity.this, android.R.style.Theme_Black_NoTitleBar); 
      fbDialogue.getWindow().setBackgroundDrawable(new ColorDrawable(Color.argb(100, 0, 0, 0))); 
      fbDialogue.setContentView(R.layout.facebook_dialogue); 
      fbDialogue.setCancelable(true); 
      fbDialogue.show(); 
    } 
}); 


    Hey I have put the code in onclicklistener. Check it . The above code works perfectly fine for me. As per my requirement I wanted the dialogue on the bottom of the screen . I have just made few lines of code change above to meet your requirement. My requirement was something like this 

enter image description here

+0

Hey @Anu, Se voglio svolgere qualche attività sul dialogo, come può farlo? –

+0

Se voglio aggiungere pulsante e testo su questo dialogo, quindi come aggiungerlo? –

+0

È possibile utilizzare una visualizzazione lineare e impostare l'orientamento su Verticale e iniziare ad aggiungere testoViste e pulsanti al suo interno. – Anu

0

È possibile implementare questo come una sovrapposizione sopra il vostro layout corrente. Può variare da implementazione a implementazione.

ho implementato questo usando il seguente approccio:

<RelativeLayout> <- This is the parent 

    <RelativeLayout id="actual_layout"> <- This is where you will implement the layout 
      <!--Implement your layout here--> 
    </RelativeLayout> 

     <RelativeLayout id="rating_container" 
     visibility="gone" 
     background="#BB000000"> <- This is to set the translucent black background 
      <RelativeLayout id="rating_dialog" 
      alignParnetTop="true"> <- This is the rating dialog 
        <!--Your implementation here--> 
      </RelativeLayout> 
    </RelativeLayout> 

</RelativeLayout> 

Ora alternare la 's visibilità "rating_container" a onclick del pulsante "Rating".

ratingButton.setOnCLickListener(new view.OnCLickListener(){ 
    @Override 
    public void onCLick(View v){ 
     toggleRatingContainer(true); 
    } 
}); 

È possibile seguire questo approccio per implementare le proprie esigenze. Fammi sapere se hai bisogno di più aiuto con questo.

NOTA: non ho scritto il codice completo. Inoltre, non ho controllato ma digitato direttamente tutto.

EDIT:

è possibile implementare la toggleRatingContainer come la seguente:

public void toggleRatingContainer(boolean showRatingDialog){ 
    ratingContainer.setVisibility((showRatingDialog)?View.VISIBLE:View.GONE); 
} 

Qui, "ratingContainer" è il "RelativeLayout" con l'id "rating_container", che si può ottenere nel vostro il metodo onCreate di attività.

E quindi è possibile attivare la sua visibilità su "View.GONE" quando si fa clic sul pulsante "Invia" o "Annulla" chiamando lo stesso metodo passando "falso" come argomento.

+0

Hey @ Wanted, qui toggleRatingContainer() metodo che mostra l'errore Cann't resolve method toggleRatingContainer (boolean). quindi come risolverlo ?? –

+0

Ehi @Rajendra, ho modificato la risposta. Ho dato solo la struttura. Si prega di trattare il codice che ho scritto come pseudo codice in quanto non ho scritto qui il codice completo. L'effettiva implementazione può variare in base alla tua implementazione. È solo uno degli approcci che è possibile seguire per implementare le proprie esigenze. Fammi sapere se hai bisogno di più aiuto con questo. Codifica felice !! – Wanted

+0

non funziona ... Quando ho aggiunto clilcked sul pulsante così RelativeLayout mostra sotto il layout principale. –