অ্যান্ড্রয়েডে কীভাবে কাস্টম ডায়ালগ বক্স তৈরি করবেন?


350

আমি নীচের মতো একটি কাস্টম সংলাপ বাক্স তৈরি করতে চাই

এখানে চিত্র বর্ণনা লিখুন

আমি নিম্নলিখিত জিনিস চেষ্টা করেছি।

  1. আমি সতর্কতা ডায়ালগ.বিল্ডারের একটি সাবক্লাস তৈরি করেছি এবং একটি কাস্টম শিরোনাম এবং কাস্টম সামগ্রী দেখুন এবং ব্যবহার করেছি তবে ফলাফলটি আশানুরূপ হয়নি।

  2. আর একটি প্রচেষ্টা ছিল ডায়ালগফ্রেগমেন্টটি সাবক্লাস করা এবং অনক্রিয়েটডায়ালগের ভিতরে ডায়ালগটি কাস্টমাইজ করা যা ফলাফলটি প্রত্যাশার মতো হয়নি।

  3. তারপরে আমি একটি সরল ডায়ালগ ক্লাস ব্যবহার করার চেষ্টা করেছি । আশানুরূপ ফল হয়নি।

তিনটি ক্ষেত্রেই, সমস্যাটি যখন আমি শিরোনাম দৃশ্যের দিকে উপেক্ষা করি তখন ডায়ালগের আকারটি প্রত্যাশার মতো হয় না এবং যখন আমি শিরোনাম দৃশ্যের ব্যবহার করি তখন ফলাফলটি কনটেন্ট ভিউয়ের চারপাশে একটি ঘন সীমানা থাকে (যা সত্যই খারাপ লাগে)। আমার মনে এখন দুটি প্রশ্ন ...

  1. আমি কীভাবে এটি অর্জন করতে পারি? যেহেতু আমি ইতিমধ্যে অনেকগুলি বিষয় চেষ্টা করেছি, সরাসরি উত্তরটি আরও প্রশংসা পাবে।

  2. কোনও অ্যান্ড্রয়েড অ্যাপে ত্রুটি বা সতর্কতা ডায়ালগ দেখানোর সর্বোত্তম উপায় কী?

সম্পাদনা Android বিকাশকারী ডকুমেন্টেশন বিশেষ পরামর্শ দেওয়া হচ্ছে যে, আমরা ব্যবহারকারীকে ত্রুটি / সতর্কতা বার্তা দেখানোর জন্য হয় DialogFragments বা ডায়ালগ ব্যবহার করা উচিত। তবে এক পর্যায়ে তারা বলে ...

টিপ: আপনি যদি কাস্টম ডায়ালগ চান তবে ডায়ালগ এপিআই ব্যবহার না করে ডায়ালগ হিসাবে কোনও ক্রিয়াকলাপ প্রদর্শন করতে পারেন। কেবল একটি ক্রিয়াকলাপ তৈরি করুন এবং ম্যানিফেস্ট উপাদানটিতে থিম.হলো.ডায়ালগ এ এর ​​থিম সেট করুন।

যে এর অর্থ কি? শুধু ত্রুটি বার্তা দেখানোর জন্য কোনও কার্যকলাপ ব্যবহার করা কি খুব বেশি নয় ???


শুধুমাত্র প্রশ্নের দ্বিতীয় অংশটির এখনও উত্তর না দেওয়া হওয়ায় ... ব্যবহারকারীর কাছে ত্রুটি / সতর্কতা বার্তা দেখানোর সর্বোত্তম উপায় কী ..
অমিত

@ সিমিট-বিজওয়ানি: আপনার যা প্রয়োজন তা আমি পাই নি, ইতিমধ্যে স্বীকৃত উত্তর আছে, আপনি অনুগ্রহের প্রস্তাব দিচ্ছেন ??
আখিল

3
কথোপকথনটি ব্যবহার করুন এটি গৃহীত উত্তরের চেয়ে অনেক ভাল
বেনোইট

@ এমিট যতক্ষণ ছবিটি দিয়ে আপনি বিচার করতে পারেন আপনি যে ডায়লগটি অর্জন করতে চান তাতে মনে হচ্ছে এটিতে স্ট্যান্ডার্ড অ্যালার্টডায়ালগ (শিরোনাম, দেহ, বোতামবার) এর মতো উপাদান রয়েছে। সুতরাং আমি ধারণা করি আপনার চেহারাটি একাই স্টাইলিংয়ের মাধ্যমে অর্জন করা যেতে পারে।
অ্যান্ডারসন

উত্তর:


565

এখানে আমি একটি সাধারণ ডায়ালগ তৈরি করেছি, যেমন:

সংলাপ বাক্স

custom_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="80dp"
    android:background="#3E80B4"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txt_dia"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="10dp"
        android:text="Do you realy want to exit ?"
        android:textColor="@android:color/white"
        android:textSize="15dp"
        android:textStyle="bold"/>


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="#3E80B4"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_yes"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:background="@android:color/white"
            android:clickable="true"
            android:text="Yes"
            android:textColor="#5DBCD2"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btn_no"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_marginLeft="5dp"
            android:background="@android:color/white"
            android:clickable="true"
            android:text="No"
            android:textColor="#5DBCD2"
            android:textStyle="bold" />
    </LinearLayout>

</LinearLayout>

আপনাকে extends Dialogএবং করতে হবেimplements OnClickListener

public class CustomDialogClass extends Dialog implements
    android.view.View.OnClickListener {

  public Activity c;
  public Dialog d;
  public Button yes, no;

  public CustomDialogClass(Activity a) {
    super(a);
    // TODO Auto-generated constructor stub
    this.c = a;
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.custom_dialog);
    yes = (Button) findViewById(R.id.btn_yes);
    no = (Button) findViewById(R.id.btn_no);
    yes.setOnClickListener(this);
    no.setOnClickListener(this);

  }

  @Override
  public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn_yes:
      c.finish();
      break;
    case R.id.btn_no:
      dismiss();
      break;
    default:
      break;
    }
    dismiss();
  }
}

ডায়ালগ কল কিভাবে?

R.id.TXT_Exit:
CustomDialogClass cdd=new CustomDialogClass(Values.this);
cdd.show();  

আপডেট

দীর্ঘ সময় পরে আমার এক বন্ধু আমাকে স্বচ্ছ পটভূমিতে বাঁকা আকৃতির ডায়ালগ তৈরি করতে বলেছিল। সুতরাং, আমি এখানে এটি প্রয়োগ করেছি।

এখানে চিত্র বর্ণনা লিখুন

বাঁকা আকার তৈরি করতে আপনাকে curve_shap.XMLনীচের মতো একটি পৃথক তৈরি করতে হবে ,

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#000000" />

    <stroke
        android:width="2dp"
        android:color="#ffffff" />

    <corners
        android:bottomLeftRadius="20dp"
        android:bottomRightRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp" />

</shape>

এখন, curve_shap.XMLএটি আপনার প্রধান দর্শন বিন্যাসে যুক্ত করুন। আমার ক্ষেত্রে আমি ব্যবহার করেছিLinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="80dp"
        android:background="@drawable/curve_shap"
        android:orientation="vertical" >
...
</LinearLayout>

এই কল কিভাবে?

CustomDialogClass cdd = new CustomDialogClass(MainActivity.this);
cdd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
cdd.show();

আমি আশা করি যে আপনার জন্য কাজ করে।


1
এই কোডটি আমার অ্যাপ্লিকেশনটির জন্য উপযুক্ত। কেবলমাত্র আমিই জিজ্ঞাসা করতে চাই, কীভাবে অন্য ক্রিয়াকলাপের অভিপ্রায়? ডায়লগ বোতামে ক্লিক করুন কখন ???
মানওয়াল

আপনি সরাসরি কল করতে পারেন কল করতে এবং কল স্টার্টঅ্যাক্টিভিটি () এর আগে () বরখাস্ত করতে ভুলবেন না। "হ্যাঁ" ক্লিক করে চেষ্টা করুন, স্টার্টঅ্যাক্টিভিটির মতো (নতুন উদ্দীপনা (ক্রিয়াকলাপ, নতুন_অ্যাক্টিভিটি.ক্লাস));
চিন্তন খেতিয়া

3
@ চিন্তনচেটিয়া এবং আপনি যদি ডায়লগ থেকে ক্রিয়াকলাপে ডেটা পাস করতে চান? কিভাবে আমরা এটা করতে হবে?
অ্যালভিন

2
কি R.id.TXT_Exit:?
জ্যাক

এমন একটি দৃশ্য যা আপনি কথোপকথন কল করতে চান।
চিন্তন খেতিয়া

186

এটি একটি উদাহরণ ডায়ালগ, এক্সএমএল দিয়ে তৈরি করুন।

এখানে চিত্র বর্ণনা লিখুন

পরবর্তী কোড এক্সএমএল কেবল একটি উদাহরণ, ডিজাইন বা ভিউ এখানে প্রয়োগ করা হয়েছে:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffffff">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/a"
    android:gravity="center"
    android:background="#DA5F6A"
    android:src="@drawable/dialog_cross"
    android:scaleType="fitCenter" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEXTO"
    android:id="@+id/text_dialog"
    android:layout_below="@+id/a"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:layout_marginBottom="20dp"
    android:textSize="18sp"
    android:textColor="#ff000000"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text="OK"
    android:id="@+id/btn_dialog"
    android:gravity="center_vertical|center_horizontal"
    android:layout_below="@+id/text_dialog"
    android:layout_marginBottom="20dp"
    android:background="@drawable/btn_flat_red_selector"
    android:layout_centerHorizontal="true"
    android:textColor="#ffffffff" />

</RelativeLayout>

কোডের এই লাইনগুলি অঙ্কনযোগ্যগুলির সংস্থানগুলি:

android:src="@drawable/dialog_cross"
android:background="@drawable/btn_flat_red_selector"

আপনি একটি ক্লাস ডায়ালগকে প্রসারিত করতে পারেন, এটির মতোও কিছু:

public class ViewDialog {

    public void showDialog(Activity activity, String msg){
        final Dialog dialog = new Dialog(activity);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(false);
        dialog.setContentView(R.layout.dialog);

        TextView text = (TextView) dialog.findViewById(R.id.text_dialog);
        text.setText(msg);

        Button dialogButton = (Button) dialog.findViewById(R.id.btn_dialog);
        dialogButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();

    }
}

অবশেষে আপনার ক্রিয়াকলাপের উপর কলের ফর্ম, উদাহরণস্বরূপ:

ViewDialog alert = new ViewDialog();
alert.showDialog(getActivity(), "Error de conexión al servidor");

আমি আশা করি এটি আপনার জন্য কাজ করে


হাই অ্যালেক্স, দুর্দান্ত শেয়ার !! আপনি কি আমাদের সাথে বিটিএন_ফ্ল্যাট_ড্রেড_স্লেক এক্সএমএল স্টাইল শেয়ার করতে পারবেন? ধন্যবাদ
Gastón Saillén

@ গ্যাস্টানসেইলন হাই গ্যাস্টন, আমি এটি অনুসন্ধান করব কারণ এটি পুরানো এবং আমার মনে নেই যে কোডটি কোথায়
অ্যালেক্স জারোস

4
অ্যালেক্সকে উদ্বিগ্ন করবেন না, আমি ইতিমধ্যে একটি <আকৃতি xmlns তৈরি করেছি: অ্যান্ড্রয়েড = " স্কিমাস.অ্যান্ড্রয়েড. com/apk/res/android"> <স্ট্রোক অ্যান্ড্রয়েড: প্রস্থ = "2 ডিপি" অ্যান্ড্রয়েড: রঙ = "# এফএফএফএফএফ" /> <গ্রেডিয়েন্ট অ্যান্ড্রয়েড: কোণ = "180" অ্যান্ড্রয়েড: এন্ডারলর = "@ রঙ / নারানজোটটিএএ" অ্যান্ড্রয়েড: স্টার্টক্লার = "@ রঙ / ফন্ডো অ্যাকশনবার" /> <কোণার অ্যান্ড্রয়েড: বামলাইটফ্রেডিয়াস = "7 ডিপি" অ্যান্ড্রয়েড: তলরাইটর্যাডিয়াস = "7 ডিপি" অ্যান্ড্রয়েড: শীর্ষলিফট্রিয়াস = " 7 ডিপি "অ্যান্ড্রয়েড: শীর্ষরাইটআরডিয়াস =" 7 ডিপি "/> </ translation> (আপনি যদি চান তবে এটি আপনার উত্তরে যুক্ত করতে পারেন)
গ্যাস্তন সেলন

94

এটি করার আরেকটি সহজ উপায়।

পদক্ষেপ 1) যথাযথ আইডির সাহায্যে একটি বিন্যাস তৈরি করুন।

পদক্ষেপ 2) আপনার ইচ্ছা যেখানেই নীচের কোডটি ব্যবহার করুন।

LayoutInflater factory = LayoutInflater.from(this);
final View deleteDialogView = factory.inflate(R.layout.mylayout, null);
final AlertDialog deleteDialog = new AlertDialog.Builder(this).create();
deleteDialog.setView(deleteDialogView);
deleteDialogView.findViewById(R.id.yes).setOnClickListener(new OnClickListener() {    
    @Override
    public void onClick(View v) {
        //your business logic 
        deleteDialog.dismiss();
    }
});
deleteDialogView.findViewById(R.id.no).setOnClickListener(new OnClickListener() {    
    @Override
    public void onClick(View v) {
        deleteDialog.dismiss();    
    }
});

deleteDialog.show();

34

নীচের থিমটি এতে যুক্ত করুন values -> style.xml

<style name="Theme_Dialog" parent="android:Theme.Light">
     <item name="android:windowNoTitle">true</item>
     <item name="android:windowBackground">@android:color/transparent</item>
</style>

আপনার onCreateDialogপদ্ধতিতে এই থিমটি ব্যবহার করুন :

Dialog dialog = new Dialog(FlightBookActivity.this,R.style.Theme_Dialog);

এক্সএমএল ফাইলে শিরোনাম বার সহ আপনার ডায়ালগের বিন্যাসটি সংজ্ঞায়িত করুন এবং সেই এক্সএমএল ফাইলটি এটির মতো সেট করুন:

dialog.setContentView(R.layout.your_dialog_layout);

এটি আমার কাছে সেরা সমাধানের মতো দেখাচ্ছে (এটি কোডের সর্বনিম্ন পরিমাণ ব্যবহার করে)। কেন আপনি চিন্তান খেতিয়ার উত্তরটি বেছে নিয়েছেন? এটার থেকে কী আরও ভাল করে তোলে?
wojciii

1
ভিনেট শুকলা কীভাবে আর.লেআউট.ইউর_ডায়ালগ_লাইআউটে ক্লিক ইভেন্টগুলি প্রয়োগ করবেন যাতে আমি কাস্টমাইজড লেআউটটি ব্যবহার করতে পারি এবং এতে পদক্ষেপ নিতে পারি
এরম

@ ইরামহানান আপনি ব্যবহার করতে পারেনmdialog.findViewById(R.id.element);
মুহাম্মদ

25

সরল প্রথমে একটি ক্লাস তৈরি করুন

 public class ViewDialog {

        public void showDialog(Activity activity, String msg){
            final Dialog dialog = new Dialog(activity);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setCancelable(false);
            dialog.setContentView(R.layout.custom_dialogbox_otp);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

            TextView text = (TextView) dialog.findViewById(R.id.txt_file_path);
            text.setText(msg);

            Button dialogBtn_cancel = (Button) dialog.findViewById(R.id.btn_cancel);
            dialogBtn_cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
//                    Toast.makeText(getApplicationContext(),"Cancel" ,Toast.LENGTH_SHORT).show();
                    dialog.dismiss();
                }
            });

            Button dialogBtn_okay = (Button) dialog.findViewById(R.id.btn_okay);
            dialogBtn_okay.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
//                    Toast.makeText(getApplicationContext(),"Okay" ,Toast.LENGTH_SHORT).show();
                    dialog.cancel();
                }
            });

            dialog.show();
        }
    }

তারপরে একটি কাস্টম_ডায়ালগবক্স_টপ তৈরি করুন

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="330dp"
    android:layout_height="160dp"
    android:background="#00555555"
    android:orientation="vertical"
    android:padding="5dp"
    android:weightSum="100">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/round_layout_otp"
        android:orientation="vertical"
        android:padding="7dp"
        android:weightSum="100">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="60"
            android:orientation="horizontal"
            android:weightSum="100">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="80"
                android:gravity="center">

                <ImageView
                    android:id="@+id/a"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:background="#DA5F6A"
                    android:gravity="center"
                    android:scaleType="fitCenter"
                    android:src="@mipmap/infoonetwo" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="20">

                <TextView
                    android:id="@+id/txt_file_path"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:singleLine="true"
                    android:text="TEXTO"
                    android:textColor="#FFFFFF"
                    android:textSize="17sp"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="40"
            android:background="@drawable/round_layout_white_otp"
            android:orientation="vertical"
            android:weightSum="100">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:layout_weight="60">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:text="Do you wanna Exit..?"
                    android:textColor="#ff000000"
                    android:textSize="15dp"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="40"
                android:orientation="horizontal"
                android:weightSum="100">


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginRight="30dp"
                    android:layout_weight="50"
                    android:gravity="center|right">

                    <Button
                        android:id="@+id/btn_cancel"
                        android:layout_width="80dp"
                        android:layout_height="25dp"
                        android:background="@drawable/round_button"
                        android:gravity="center"
                        android:text="CANCEL"
                        android:textSize="13dp"
                        android:textStyle="bold"
                        android:textColor="#ffffffff" />

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="30dp"
                    android:layout_weight="50"
                    android:gravity="center|left">


                    <Button
                        android:id="@+id/btn_okay"
                        android:layout_width="80dp"
                        android:layout_height="25dp"
                        android:background="@drawable/round_button"
                        android:text="OKAY"
                        android:textSize="13dp"
                        android:textStyle="bold"
                        android:textColor="#ffffffff" />

                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

তারপরে আপনার আঁকতে এক্সএমএল ফাইলগুলির নীচে তৈরি করুন।
round_layout_ white_otp.xml এর জন্য

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- <corners android:radius="10dp" /> -->
    <corners
        android:bottomLeftRadius="18dp"
        android:bottomRightRadius="16dp"
        android:topLeftRadius="38dp"
        android:topRightRadius="36dp" />
    <solid android:color="#C0C0C0" />
    </shape>

round_layout_otp.xML এর জন্য

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- <corners android:radius="10dp" /> -->
    <corners
        android:bottomLeftRadius="18dp"
        android:bottomRightRadius="16dp"
        android:topLeftRadius="38dp"
        android:topRightRadius="38dp" />
    <solid android:color="#DA5F6A" />
    </shape>

round_button

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- <corners android:radius="10dp" /> -->
    <corners
        android:bottomLeftRadius="7dp"
        android:bottomRightRadius="7dp"
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp" />
    <solid android:color="#06A19E" />
    </shape>

তারপরে অবশেষে ভিজ্যুয়াল ইউআরএল এর নীচের কোডটি ব্যবহার করুন :)

ViewDialog alert = new ViewDialog();
        alert.showDialog(ReceivingOTPRegActivity.this, "OTP has been sent to your Mail ");

আপনার আউটপুট :)

এখানে চিত্র বর্ণনা লিখুন


13
public static void showCustomAlertDialog(Context context, String name,
            String id, String desc, String fromDate, String toDate,
            String resions) {
        final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                context);
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.dialog, null);
        alertDialogBuilder.setView(view);
        alertDialogBuilder.setCancelable(false);
        final AlertDialog dialog = alertDialogBuilder.create();
        dialog.show();
        txt_empId = (TextView) view.findViewById(R.id.txt_dialog_empcode);
        txt_empName = (TextView) view.findViewById(R.id.txt_dialog_empname);
        txt_desc = (TextView) view.findViewById(R.id.txt_dialog_desc);
        txt_startDate = (TextView) view.findViewById(R.id.txt_dialog_startDate);
        txt_resions = (TextView) view.findViewById(R.id.txt_dialog_endDate);
        txt_empId.setTypeface(Utils.setLightTypeface(context));
        txt_empName.setTypeface(Utils.setLightTypeface(context));
        txt_desc.setTypeface(Utils.setLightTypeface(context));
        txt_startDate.setTypeface(Utils.setLightTypeface(context));
        txt_resions.setTypeface(Utils.setLightTypeface(context));

        txt_empId.setText(id);
        txt_empName.setText(name);

        txt_desc.setText(desc);
        txt_startDate.setText(fromDate + "\t to \t" + toDate);
        txt_resions.setText(resions);



        btn_accept = (Button) view.findViewById(R.id.btn_dialog_accept);
        btn_reject = (Button) view.findViewById(R.id.btn_dialog_reject);
        btn_cancel = (Button) view.findViewById(R.id.btn_dialog_cancel);
        btn_accept.setTypeface(Utils.setBoldTypeface(context));
        btn_reject.setTypeface(Utils.setBoldTypeface(context));
        btn_cancel.setTypeface(Utils.setBoldTypeface(context));

        btn_cancel.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                dialog.dismiss();

            }
        });

    }

11

কাস্টম সংলাপ বাক্স তৈরি করার সহজ উপায়:

  1. সংলাপটি শুরু করুন এবং দেখান:

     ViewDialog alertDialoge = new ViewDialog();
     alertDialoge.showDialog(getActivity(), "PUT DIALOG TITLE");
  2. পদ্ধতি তৈরি করুন:

    public class ViewDialog {
    
      public void showDialog(Activity activity, String msg) {
    
        final Dialog dialog = new Dialog(activity);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(false);
        dialog.setContentView(R.layout.custom_dialoge_feedback);
    
        TextView text = (TextView) dialog.findViewById(R.id.text_dialog_feedback);
        text.setText(msg);
    
        Button okButton = (Button) dialog.findViewById(R.id.btn_dialog_feedback);
        Button cancleButton = (Button) dialog.findViewById(R.id.btn_dialog_cancle_feedback);
        final EditText edittext_tv = (EditText) dialog.findViewById(R.id.dialoge_alert_text_feedback);
    
        okButton.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                //Perfome Action
            }
        });
        cancleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialog.dismiss();
            }
        });
    
        dialog.show();
    
        }
    }
  3. আপনি চান বা প্রয়োজন লেআউট XML তৈরি করুন।


4

বিশৃঙ্খল ডায়ালগ কোডটি কাটাতে আপনি এই সাধারণ অ্যান্ড্রয়েড ডায়ালগ পপআপ লাইব্রেরিটি চেষ্টা করতে পারেন । আপনার ক্রিয়াকলাপটি ব্যবহার করা খুব সহজ। এর পরে ডায়ালগ দেখানোর জন্য আপনার ক্রিয়াকলাপে এই কোডটি থাকতে পারে

Pop.on(this).with().title(R.string.title).layout(R.layout.custom_pop).show();

যেখানে আপনার ডায়ালগটি সাজাতে চান সেভাবে আর.লেআউটআউট.কাস্টম_পপটি আপনার কাস্টম বিন্যাস।


4

আমি এটি কাস্টম সংলাপ প্রদর্শনের সহজতম উপায় হিসাবে পেয়েছি।

আপনার লেআউট আছে your_layout.xml

public void showCustomDialog(final Context context) {
    Dialog dialog = new Dialog(context);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = inflater.inflate(R.layout.your_layout, null, false);
    findByIds(view);  /*HERE YOU CAN FIND YOU IDS AND SET TEXTS OR BUTTONS*/
    ((Activity) context).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    dialog.setContentView(view);
    final Window window = dialog.getWindow();
    window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
    window.setBackgroundDrawableResource(R.color.colorTransparent);
    window.setGravity(Gravity.CENTER);
    dialog.show();
}

4

কাস্টম সতর্কতা বিন্যাস কাস্টম_লোর_আপডেট.এক্সএমএল তৈরি করুন

তারপরে এই কোডটি কার্যকলাপে অনুলিপি করুন:

AlertDialog basic_reg;
AlertDialog.Builder builder ;
builder = new AlertDialog.Builder(ct, R.style.AppCompatAlertDialogStyle);
LayoutInflater inflater = ((Activity) ct).getLayoutInflater();
View v = inflater.inflate(R.layout.custom_aler_update, null);
builder.setView(v);
builder.setCancelable(false);
builder.create();
basic_reg = builder.show();

শৈলীতে এই কোডটি অনুলিপি করুন:

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/primaryTextColor</item>
    <item name="android:background">@color/white</item>
</style>

3

পটভূমির রঙ এবং পাঠ্য শৈলীর পরিবর্তনের সহজতম উপায় হ'ল নীচের মতো অ্যান্ড্রয়েড সতর্কতা ডায়ালগের জন্য কাস্টম থিম তৈরি করা: -

: কেবল স্টাইল.এক্সএমএলে কোডের নীচে রাখুন:

    <style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
    <item name="android:textColor">#999999</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:typeface">monospace</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:textSize">@dimen/abc_text_size_medium_material</item>
    <item name="android:background">#80ff00ff</item>
</style>

: এখন কাস্টমাইজেশন জিনিসটি সম্পন্ন হয়েছে, এখন কেবল আপনার সতর্কতা বিল্ডার অবজেক্টে প্রয়োগ করুন:

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this,R.style.AlertDialogCustom);

আশা করি এটা তোমাকে সাহায্য করবে !


3

কোটলিনে পূর্ণ স্ক্রিন কাস্টম সতর্কতা ডায়ালগ ক্লাস

  1. এক্সএমএল ফাইল তৈরি করুন, আপনি যেমন কোনও কার্যকলাপ করেন ঠিক তেমনই

  2. সতর্কতা ডায়ালগ কাস্টম ক্লাস তৈরি করুন

    class Your_Class(context:Context) : AlertDialog(context){
    
     init {
      requestWindowFeature(Window.FEATURE_NO_TITLE)
      setCancelable(false)
     }
    
     override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.your_Layout)
      val window = this.window
      window?.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                         WindowManager.LayoutParams.MATCH_PARENT)
    
      //continue custom code here
      //call dismiss() to close
     }
    }
  3. ক্রিয়াকলাপের মধ্যে ডায়লগ কল করুন

    val dialog = Your_Class(this)
    //can set some dialog options here
    dialog.show()

দ্রষ্টব্য **: আপনি যদি না চান আপনার ডায়লগটি পূর্ণ স্ক্রিন হয় তবে নীচের লাইনগুলি মুছুন

      val window = this.window
      window?.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                         WindowManager.LayoutParams.MATCH_PARENT)

তারপরে আপনার এক্সএমএল ফাইলের মধ্যে আপনার শীর্ষ বিন্যাসের বিন্যাস_ প্রস্থ এবং বিন্যাস_ উচ্চতাটি মোড়ক_কন্টেন্ট বা একটি নির্দিষ্ট ডিপি মান হতে সম্পাদনা করুন।

আমি সাধারণত ফিক্সড ডিপি ব্যবহারের পরামর্শ দিই না কারণ আপনি সম্ভবত আপনার অ্যাপ্লিকেশনটিকে একাধিক স্ক্রিন আকারের সাথে মানিয়ে নিতে চাইবেন, তবে আপনি যদি নিজের আকারের মানগুলিকে যথেষ্ট ছোট রাখেন তবে আপনার ভাল হওয়া উচিত


2

সতর্কতা ডায়ালগ লেআউট এরকম কিছু তৈরি করুন

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:text="Custom Alert Dialog"
        android:layout_height="40dp">
    </Button>
</LinearLayout>

এবং আপনার ক্রিয়াকলাপ শ্রেণিতে কোডের নীচে যুক্ত করুন

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LayoutInflater inflate = LayoutInflater.from(this);
    alertView = inflate.inflate(R.layout.your_alert_layout, null);
    Button btn= (Button) alertView.findViewById(R.id.btn);

    showDialog();
  }

 public void showDialog(){
        Dialog alertDialog = new Dialog(RecognizeConceptsActivity.this);
        alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        alertDialog.setContentView(alertView);
        alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        alertDialog.show();
    }

2

এটি সতর্কতা ডায়ালগের জন্য একটি শ্রেণি যাতে আপনি কোডটি পুনরায় ব্যবহার করতে কোনও কার্যকলাপ থেকে ক্লাসকে কল করতে পারেন।

public class MessageOkFragmentDialog extends DialogFragment {
Typeface Lato;
String message = " ";
String title = " ";
int messageID = 0;

public MessageOkFragmentDialog(String message, String title) {
    this.message = message;
    this.title = title;
}


@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    LayoutInflater inflater = getActivity().getLayoutInflater();

    View convertview = inflater.inflate(R.layout.dialog_message_ok_box, null);


    Constants.overrideFonts(getActivity(), convertview);
    Lato = Typeface
            .createFromAsset(getActivity().getAssets(), "font/Lato-Regular.ttf");


    TextView textmessage = (TextView) convertview
            .findViewById(R.id.textView_dialog);

    TextView textview_dialog_title = (TextView) convertview.findViewById(R.id.textview_dialog_title);

    textmessage.setTypeface(Lato);
    textview_dialog_title.setTypeface(Lato);



    textmessage.setText(message);
    textview_dialog_title.setText(title);



    Button button_ok = (Button) convertview
            .findViewById(R.id.button_dialog);
    button_ok.setTypeface(Lato);

    builder.setView(convertview);
    button_ok.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            dismiss();

        }
    });


    return builder.create();

}
}

এর জন্য এক্সএমএল ফাইলটি হ'ল:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:gravity="center_vertical|center"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/blue_color"
            android:gravity="center_horizontal"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textview_dialog_title"
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:gravity="center"
                android:textColor="@color/white_color"
                android:textSize="@dimen/txtSize_Medium" />


        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/txt_white_color" />

        <TextView
            android:id="@+id/textView_dialog"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="@dimen/margin_20"
            android:textColor="@color/txt_gray_color"
            android:textSize="@dimen/txtSize_small" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/txt_white_color"
            android:visibility="gone"/>

        <Button
            android:id="@+id/button_dialog"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/margin_40"
            android:layout_gravity="center"
            android:background="@drawable/circular_blue_button"

            android:text="@string/ok"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="@dimen/margin_10"
            android:textColor="@color/txt_white_color"
            android:textSize="@dimen/txtSize_small" />
    </LinearLayout>

</LinearLayout>

2

কথোপকথন খণ্ডন হ'ল একটি কাস্টম সতর্কতা ডায়ালগ তৈরির সহজতম উপায় your আপনার কথোপকথনের জন্য একটি কাস্টম ভিউ তৈরি করতে উপরের কোডটি অনুসরণ করুন এবং তারপরে ডায়ালগ ফ্রেগমেন্ট ব্যবহার করে এটি বাস্তবায়ন করুন। আপনার লেআউট ফাইলটিতে নিম্নলিখিত কোড যুক্ত করুন:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="80dp"
    android:background="#3E80B4"
    android:orientation="vertical">

    <TextView
        android:id="@+id/txt_dia"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="10dp"
        android:text="Do you realy want to exit ?"
        android:textColor="@android:color/white"
        android:textSize="15dp"
        android:textStyle="bold" />


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="#3E80B4"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_yes"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:background="@android:color/white"
            android:clickable="true"
            android:text="Yes"
            android:textColor="#5DBCD2"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btn_no"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_marginLeft="5dp"
            android:background="@android:color/white"
            android:clickable="true"
            android:text="No"
            android:textColor="#5DBCD2"
            android:textStyle="bold" />
    </LinearLayout>

</LinearLayout>

2

কাস্টম সতর্কতা ডায়ালগ তৈরি করুন

cumstomDialog.xml

<ImageView
    android:id="@+id/icon"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center"
    android:layout_margin="5dp"
    app:srcCompat="@drawable/error" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fontFamily="@font/muli_bold"
    android:text="Title"
    android:layout_marginTop="5dp"
    android:textColor="@android:color/black"
    android:textSize="15sp" />


<TextView
    android:id="@+id/description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:fontFamily="@font/muli_regular"
    android:text="Message"
    android:textColor="@android:color/black"
    android:textSize="12dp" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="20dp"
    android:gravity="center"
    android:orientation="horizontal">

    <Button
        android:id="@+id/cancelBTN"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_margin="5dp"
        android:background="@drawable/bground_radius_button_white"
        android:text="No"
        android:textColor="@color/black" />

    <Button
        android:id="@+id/acceptBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_margin="5dp"
        android:background="@drawable/bground_radius_button"
        android:text="Yes"
        android:textColor="@color/white" />
</LinearLayout>

আপনার ক্রিয়াকলাপে আপনার কাস্টম সংলাপটি দেখান:

  public void showDialog(String title, String des, int icon) {

    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.custom_dialog);
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

    Button cancelBTN = dialog.findViewById(R.id.cancelBTN);
    Button acceptBTN = dialog.findViewById(R.id.acceptBtn);
    TextView tvTitle = dialog.findViewById(R.id.title);
    TextView tvDescription = dialog.findViewById(R.id.description);
    ImageView ivIcon = dialog.findViewById(R.id.icon);

    tvTitle.setText(title);
    tvDescription.setText(des);
    ivIcon.setImageResource(icon);

    cancelBTN.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog.dismiss();
        }
    });

    acceptBTN.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

    dialog.show();
}

এভাবে কল করুন:

শোডায়ালগ ("শিরোনাম", "বার্তা", আরড্র্যাবেল.ওয়ার্নিং);


1

আমি যে কোটলিন কোডটি ব্যবহার করছি তা পোস্ট করছি এবং এটি আমার পক্ষে ভাল কাজ করে। আপনি ডায়ালগ বোতামের জন্য ক্লিক শ্রোতাদেরও সেট করতে পারেন।

এটি আমার এক্সএমএল কোড:

layout_custom_alert_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layoutDirection="ltr"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <View
        android:id="@+id/view6"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:background="@color/colorPrimary" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/view6"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp">


        <TextView
            android:id="@+id/txt_alert_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            tools:text="are you sure?"
            android:textAlignment="center"
            android:textColor="@android:color/black"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />


        <Button
            android:id="@+id/btn_alert_positive"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/textView2"
            android:layout_marginTop="8dp"
            android:background="@android:color/transparent"
            tools:text="yes"
            android:textColor="@color/colorPrimaryDark"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/btn_alert_negative"
            app:layout_constraintTop_toBottomOf="@+id/txt_alert_title" />

        <Button
            android:id="@+id/btn_alert_negative"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:background="@android:color/transparent"
            tools:text="no"
            android:textColor="@color/colorPrimaryDark"
            app:layout_constraintEnd_toStartOf="@+id/btn_alert_positive"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt_alert_title" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>

mAlertDialog.kt

class mAlertDialog(context: Context) {

    private val btn_positive : Button
    private val btn_negative : Button
    private val txt_alert_title : TextView
    private val dialog : AlertDialog
    init {
        val view = LayoutInflater.from(context).inflate(R.layout.layout_custom_alert_dialog,null)

        val dialog_builder = AlertDialog.Builder(context)
        dialog_builder.setView(view)

        btn_negative = view.findViewById(R.id.btn_alert_negative)
        btn_positive = view.findViewById(R.id.btn_alert_positive)
        txt_alert_title = view.findViewById(R.id.txt_alert_title)

        dialog = dialog_builder.create() 
    }

    fun show()
    {
        dialog.show()
    }

    fun setPositiveClickListener(listener :onClickListener)
    {
        btn_positive.setOnClickListener { v ->
            listener.onClick(btn_positive)
            dialog.dismiss()
        }
    }

    fun setNegativeClickListener(listener: onClickListener)
    {
        btn_negative.setOnClickListener { v ->
            listener.onClick(btn_negative)
            dialog.dismiss()
        }
    }

    fun setPoitiveButtonText(text : String)
    {
        btn_positive.text = text
    }


    fun setNegativeButtonText(text : String)
    {
        btn_negative.text = text
    }

    fun setAlertTitle(title : String)
    {
        txt_alert_title.text = title
    }
}

ক্লিক শ্রোতাদের জন্য ইন্টারফেস:

onClickListener.kt

interface onClickListener{
    fun onClick(view : View)
}

নমুনা ব্যবহার

val dialog = mAlertDialog(context)
                dialog.setNegativeButtonText("no i dont")
                dialog.setPoitiveButtonText("yes is do")
                dialog.setAlertTitle("do you like this alert dialog?")

                dialog.setPositiveClickListener(object : onClickListener {
                    override fun onClick(view: View) {
                        Toast.makeText(context, "yes", Toast.LENGTH_SHORT).show()
                    }
                })

                dialog.setNegativeClickListener(object : onClickListener {
                    override fun onClick(view: View) {
                        Toast.makeText(context, "no", Toast.LENGTH_SHORT).show()
                    }
                })

                dialog.show()

আমি আশা করি এটা তোমাকে সাহায্য করবে!


1

আমি টিসিআরন লাইব্রেরি ব্যবহার করতে পছন্দ করি। (এখানে ডাউনলোড করুন: https://github.com/triocoder/tcAron )

  1. আমদানি ক্লাস:

    com.triocoder.tcaron.tcaronlibrary.tcAronDialogs আমদানি করুন;

  2. এটি লিখুন:

    tcAronDialogs.showFancyAlert (প্রধানঅ্যাক্টিভিটি.এই মিথ্যা, "পাঠ্য", "বন্ধ", "আইসি_হাব_হাইট", 0xFFF44336);

  3. ডকুমেন্টেশন পরীক্ষা করুন:
    https://github.com/triocoder/tcAron/wiki/showFancyAlert


1

কোটলিনের সাথে কাস্টম ভিউ ডায়ালগ তৈরির কোডটি নীচে দেওয়া হল। নিম্নলিখিতটি ডায়ালগ লেআউট ফাইল রয়েছে

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical" android:layout_width="300dp"
    android:layout_height="400dp">

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

সংলাপ তৈরি করা এবং পাঠ্য দৃশ্যে পাঠ্য আপডেট করা

val dialog = Dialog(activity!!)
dialog.setContentView(R.layout.my_dialog_layout)
dialog.tvTitle.text = "Hello World!!"
dialog.show()

1

এখানে একটি কাস্টম ডায়ালগ তৈরির খুব সহজ উপায়।

dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<!--  Put your layout content  -->
</LinearLayout>

MainActivity.java

ShowPopup(){
LayoutInflater li = LayoutInflater.from(this);
View promptsView = li.inflate(R.layout.dialog, null);
android.app.AlertDialog.Builder alertDialogBuilder = new 
android.app.AlertDialog.Builder(this);
alertDialogBuilder.setView(promptsView);
alertDialogBuilder.setCancelable(true);
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}

1

কাস্টম সতর্কতা আমদানি করুন:

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.dse_location_list_filter, null);
final Dialog dialog = new Dialog(Acitvity_name.this);
dialog.setContentView(view);
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);
dialog.show();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.