2011-09-21 55 views
55

Tôi cần tạo một cửa sổ bật lên popup trong Android. Yêu cầu của tôi là ở trang 1 Tôi sẽ giữ một liên kết siêu liên kết và khi tôi nhấp vào nó sẽ mở một cửa sổ bật lên popup. Tôi đã trải qua nhiều hướng dẫn và thử chúng nhưng không ai trong số họ làm việc cho tôi. Hãy giúp tôi về cách tạo một cửa sổ bật lên trong android.Cách tạo cửa sổ bật lên trong Android?

+2

xem các liên kết dưới đây và các ví dụ http://www.mobilemancer.com/2011/01/08/popup-window-in-android/ http://stackoverflow.com/questions/1967863/is- có-một-đơn giản-ví dụ-of-the-popupwindow-class-sử dụng-android-v2-0 –

+0

Đối với những người tìm kiếm thêm ví dụ, tôi có thể giới thiệu kho lưu trữ này: https://github.com/oliguo/android- PopupWindow Nó chứa hai loại popup và layout của nó trong XML thay vì mã. –

+0

Xem thêm [Cách tạo cửa sổ bật lên android đơn giản] (https://stackoverflow.com/questions/38987442/how-to-make-a-simple-android-popup-window/45077688#45077688) – Suragch

Trả lời

76
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.LinearLayout; 
import android.widget.PopupWindow; 
import android.widget.TextView; 
import android.view.ViewGroup.LayoutParams; 

public class ShowPopUpWindow extends Activity { 

    boolean isClicked = true; 
    PopupWindow popUpWindow; 
    LayoutParams layoutParams; 
    LinearLayout mainLayout; 
    Button btnClickHere; 
    LinearLayout containerLayout; 
    TextView tvMsg; 



    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     containerLayout = new LinearLayout(this); 
     mainLayout = new LinearLayout(this); 
     popUpWindow = new PopupWindow(this); 


     btnClickHere = new Button(this); 
     btnClickHere.setText("Click Here For Pop Up Window !!!"); 
     btnClickHere.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       if (isClicked) { 
        isClicked = false; 
        popUpWindow.showAtLocation(mainLayout, Gravity.BOTTOM, 10, 10); 
        popUpWindow.update(50, 50, 320, 90); 
       } else { 
        isClicked = true; 
        popUpWindow.dismiss(); 
       } 
      } 

     }); 

     tvMsg = new TextView(this); 
     tvMsg.setText("Hi this is pop up window..."); 

     layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT); 
     containerLayout.setOrientation(LinearLayout.VERTICAL); 
     containerLayout.addView(tvMsg, layoutParams); 
     popUpWindow.setContentView(containerLayout); 
     mainLayout.addView(btnClickHere, layoutParams); 
     setContentView(mainLayout); 

    } 
} 
+0

Xin cảm ơn mã mẫu..nó hoạt động tốt Tôi cần đặt textview và các nút vào cửa sổ bật lên đó. Chúng tôi có thể tạo các nút và bản xem trước văn bản đó trong bố cục xml và chúng tôi có thể sử dụng nó cho cửa sổ bật lên không? –

+0

yup tại sao không ........... bất kỳ tiện ích nào của android bạn có thể sử dụng trong cửa sổ bật lên –

+0

ok cảm ơn bạn..Tôi đã tạo một tệp main1 layout và bây giờ làm cách nào để thêm vào cửa sổ bật lên? Tôi có nghĩa là nói chung chúng tôi cung cấp cho giống như setContentView (R.layout.main1); ... tương tự như thế nào để thêm tập tin xml vào cửa sổ popup? –

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