1

つまり、完全にカスタマイズされたアラート ボックスが必要です。その上に背景画像、カスタム ボタン、カスタム メッセージが必要です。現在、メッセージのみを含むデフォルトのアラート ボックスを使用していますが、完全にカスタムのアラート ボックスにしたいです。私が前に言ったように

私を助けてください、そして可能な場合はサンプルコードスニペットを共有してください:)

現在、コードはそのようなものです:-

AlertDialog.Builder alertDialogBuilder3 = new AlertDialog.Builder(context);
                alertDialogBuilder3.setTitle("Location Check");
                alertDialogBuilder3
                .setMessage("Do you want to cancel loading?")
                .setCancelable(false)
                .setPositiveButton("Ok",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {

                        LAtestTab.this.finish();
                    }
                })
                .setNegativeButton("No",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {
                        // if this button is clicked, just close
                        // the dialog box and do nothing
                        dialog.cancel();
                    }
                });
                ;

                AlertDialog alertDialog3 = alertDialogBuilder3.create();

                alertDialog3.show();
4

2 に答える 2

6

ここにJavaコードがあります....

exit.setOnClickListener(new OnClickListener() 
{   
     @Override
     public void onClick(View arg0) 
    {
            final Dialog dialog1 = new Dialog(CatchTheCatActivity.this);
            dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog1.setContentView(R.layout.custom_alert);

            Button yes = (Button) dialog1.findViewById(R.id.button1);
            Button no = (Button) dialog1.findViewById(R.id.button2);

            yes.setOnClickListener(new OnClickListener()
            {
                @Override
                public void onClick(View v) 
                {
                    finish();   
                }
            });
            no.setOnClickListener(new OnClickListener()
            {
                @Override
                public void onClick(View v) 
                {
                        dialog1.dismiss();  

                }
            });
            dialog1.show();
   }
});

これが XML ファイルです... (custom_alert)

<?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="110dp"
    android:background="@drawable/bg"
    android:orientation="vertical" >

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


        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:src="@drawable/textmessage" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center|bottom" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/yes_button"/>


        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:background="@drawable/no_button" />

    </LinearLayout>

</LinearLayout>
于 2012-12-11T06:24:43.550 に答える
2

このリンクを参照してください

http://www.mkyong.com/android/android-custom-dialog-example/

http://android-er.blogspot.in/2011/06/custom-alertdialog.html

また、レイアウト XML ファイルの名前とファイル内のレイアウトの ID を使用するだけで、レイアウト インフレータから直接ビューを作成できます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/dialog_layout_root"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:padding="10dp"
 >

次に、ビルダーで次のようにレイアウトを設定できます。

LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialoglayout);
于 2012-12-11T06:18:18.693 に答える