আমি জানি এটি দেরী হয়েছে তবে আমি লক্ষ্য করেছি যে পপআপ উইন্ডোতে লোকেরা এখনও একটি সমস্যা আছে। আমি একটি সম্পূর্ণ কার্যকারী উদাহরণ লেখার সিদ্ধান্ত নিয়েছি যেখানে আপনি পপআপ উইন্ডোটির বাইরে ছোঁয়া বা ক্লিক করে বা কেবল উইন্ডোটি নিজেই স্পর্শ করে খারিজ করতে পারেন। এটি করতে একটি নতুন পপআপ উইন্ডো শ্রেণি তৈরি করুন এবং এই কোডটি অনুলিপি করুন:
পপআপ উইন্ডো.ক্লাস
public class PopupWindow extends android.widget.PopupWindow
{
Context ctx;
Button btnDismiss;
TextView lblText;
View popupView;
public PopupWindow(Context context)
{
super(context);
ctx = context;
popupView = LayoutInflater.from(context).inflate(R.layout.popup, null);
setContentView(popupView);
btnDismiss = (Button)popupView.findViewById(R.id.btn_dismiss);
lblText = (TextView)popupView.findViewById(R.id.text);
setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
setOutsideTouchable(true);
setFocusable(true);
setBackgroundDrawable(new BitmapDrawable());
btnDismiss.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
dismiss();
}});
}
public void show(View anchor, int x, int y)
{
showAtLocation(anchor, Gravity.CENTER, x, y);
}
}
এখন পপআপ উইন্ডোটির জন্য বিন্যাসটি তৈরি করুন:
পপআপ.এক্সএমএল
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="1dp"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
android:text="PopupWindow Example"
android:textColor="#000000"
android:textSize="17sp"
android:textStyle="italic" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical">
<Button
android:id="@+id/btn_dismiss"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dismiss"
android:visibility="gone" />
<TextView
android:id="@+id/lbl_dismiss"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Touch outside of this box to dismiss"
android:textColor="#ffffff"
android:textStyle="bold" />
</FrameLayout>
আপনার প্রধান ক্রিয়াকলাপে পপআপ উইন্ডো শ্রেণীর একটি উদাহরণ তৈরি করুন:
final PopupWindow popupWindow = new PopupWindow(this);
popupWindow.show(findViewById(R.id.YOUR_MAIN_LAYOUT), 0, -250);
যেখানে YOUR_MAIN_LAYOUT হ'ল বর্তমান ক্রিয়াকলাপের বিন্যাস যা পপআপ উইন্ডো পপ আপ হবে