2015-12-07 18 views
5

Tôi đang triển khai ứng dụng android. Tôi muốn gọi hoặc đoạn cửa sổ bật lên khi nhấp vào nút xếp hạng.Cách gọi hoặc bật lên đoạn khi nhấp vào nút

Ví dụ: Tại đây tôi đã đính kèm ảnh chụp màn hình. Khi tôi bấm lên nút tốc độ vậy làm thế nào để gọi cửa sổ pop-up hoặc đoạn như thế này

enter image description here

enter image description here

Xin hãy giúp tôi làm thế nào để gọi những mảnh?

+0

hiển thị mã của bạn, vui lòng –

+0

Tôi không viết mã. Tôi hỏi về điều đó @IntelliJ Amiya –

Trả lời

2

Bạn cần thiết kế bố cục khác chỉ cho cửa sổ bật lên được hiển thị và làm cho nó thẳng đứng. Dưới đây là cách bố trí ví dụ

Tạo mới tập tin 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> 

Một khi bạn đã tạo ra thiết kế của bạn. Bạn cần phải gọi nó trong nhấp chuột onbutton của bạn. Sau đây là ví dụ để cho thấy một cuộc đối thoại

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, Nếu tôi muốn thực hiện một số hoạt động trên đối thoại để làm thế nào có thể làm điều đó? –

+0

Nếu tôi muốn thêm nút và văn bản lên trên đoạn hội thoại này để biết cách thêm nó? –

+0

Bạn có thể sử dụng linearlayout và đặt hướng của nó là Vertical và bắt đầu thêm textViews và các nút trong đó. – Anu

0

Bạn có thể thực hiện điều này như một lớp phủ trên bố trí hiện tại của bạn. Nó có thể khác nhau từ triển khai đến triển khai.

tôi thực hiện điều này bằng cách sử dụng phương pháp sau đây:

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

Bây giờ bật tắt "rating_container" 's tầm nhìn trong onclick của nút 'Đánh giá' của bạn.

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

Bạn có thể làm theo phương pháp này để thực hiện yêu cầu của mình. Hãy cho tôi biết nếu bạn cần thêm trợ giúp về vấn đề này.

LƯU Ý: Tôi chưa viết mã hoàn chỉnh. Ngoài ra, tôi đã không kiểm tra nhưng trực tiếp gõ tất cả mọi thứ.

EDIT:

Bạn có thể thực hiện các toggleRatingContainer như sau:

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

Ở đây, "ratingContainer" là "RelativeLayout" với id "rating_container" mà bạn có thể nhận được trong bạn phương thức onCreate của hoạt động.

Và sau đó bạn có thể chuyển đổi chế độ hiển thị thành "Xem.GONE" khi nút "Gửi" hoặc "Hủy" được nhấp bằng cách gọi cùng một phương thức chuyển "sai" làm đối số.

+0

Hey @Wanted, ở đây toggleRatingContainer() phương pháp hiển thị lỗi Không thể giải quyết phương thức toggleRatingContainer (boolean). vậy làm thế nào để giải quyết điều đó ?? –

+0

Hey @Rajendra, tôi đã chỉnh sửa câu trả lời. Tôi đã chỉ cho cấu trúc. Vui lòng xử lý mã tôi đã viết dưới dạng mã giả như tôi đã không viết mã hoàn chỉnh ở đây. Triển khai thực tế có thể khác nhau dựa trên việc triển khai của bạn. Nó chỉ là một trong những cách tiếp cận mà bạn có thể làm theo để thực hiện yêu cầu của bạn. Hãy cho tôi biết nếu bạn cần thêm trợ giúp về vấn đề này. Chúc mừng mã hóa !! – Wanted

+0

nó không hoạt động ... Khi tôi clilcked khi nút để RelativeLayout hiển thị bên dưới bố trí chính. –

Các vấn đề liên quan