2015-12-07 2 views
5

Ich implementiere eine Android-App. Ich möchte ein Fragment aufrufen oder ein Pop-up-Fenster öffnen, wenn Sie auf die Schaltfläche klicken.So rufen Sie ein Fragment auf oder rufen es auf, wenn Sie auf klicken.

Zum Beispiel, hier habe ich Screenshot beigefügt. Wenn ich auf der Rate Taste klicken, so wie Pop-up oder ein Fragment wie dieses

enter image description here

enter image description here

Bitte helfen Sie mir nennen, wie dieses Fragment nennen?

+0

zeigen Sie Ihren Code bitte –

+0

Ich habe den Code nicht geschrieben. Ich frage nach @IntelliJ Amiya –

Antwort

2

Sie müssen nur ein anderes Layout entwerfen, damit das Popup angezeigt wird, und es zu alignparenttop machen. Hier ist das Beispiel, das Layout

neue XML-Datei erstellen 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> 

Sobald Sie Ihr Design erstellt haben. Sie müssen es in Ihrem Onbutton klicken klicken. Es folgt das Beispiel zu zeigen, einen Dialog

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, Wenn ich etwas Aktivität auf Dialog durchführen wollen, so wie kann das tun? –

+0

Wenn ich Knopf und Text in diesem Dialog hinzufügen möchte, so wie man es hinzufügt? –

+0

Sie können ein lineares Layout verwenden und seine Ausrichtung als vertikal festlegen und TextViews und Schaltflächen hinzufügen. – Anu

0

Sie können dies implementieren als Overlay über die aktuelle Layout. Es kann von Implementierung zu Implementierung variieren.

ich realisierte dies den folgenden Ansatz:

<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> 

nun die "rating_container" 's Sichtbarkeit in ONCLICK Ihrer "Rating" Taste verwenden.

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

Sie können diesem Ansatz folgen, um Ihre Anforderung zu implementieren. Lass es mich wissen, wenn du mehr Hilfe brauchst.

HINWEIS: Ich habe den vollständigen Code nicht geschrieben. Außerdem habe ich nicht überprüft, sondern alles direkt eingegeben.

EDIT:

Sie können die toggleRatingContainer wie folgt implementieren:

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

Hier "ratingContainer" ist die "RelativeLayout" mit der ID "rating_container", die Sie in bekommen können Ihre Aktivität ist onCreate-Methode.

Und dann können Sie ihre Sichtbarkeit auf "View.GONE" umschalten, wenn auf die Schaltfläche "Submit" oder "Cancel" geklickt wird, indem dieselbe Methode aufgerufen wird und "false" als Argument übergeben wird.

+0

Hey @Wanted, hier togglRatingContainer() -Methode, die den Fehler zeigt Kann die Methode toggleRatingContainer (boolean) nicht auflösen. so wie das zu lösen ?? –

+0

Hey @Rajendra, ich habe die Antwort bearbeitet. Ich habe nur die Struktur gegeben. Bitte behandeln Sie den Code, den ich geschrieben habe, als Pseudo-Code, da ich hier nicht den vollständigen Code geschrieben habe. Die tatsächliche Implementierung kann je nach Implementierung variieren. Es ist nur einer der Ansätze, denen Sie folgen können, um Ihre Anforderung zu implementieren. Lass es mich wissen, wenn du mehr Hilfe brauchst. Glückliche Codierung !! – Wanted

+0

es funktioniert nicht ... Als ich auf den Knopf geklickt habe, zeigt RelativeLayout unterhalb des Hauptlayouts. –