自定义对话框中的android调整大小 [英] Adjusting size of custom dialog box in android

查看:100
本文介绍了自定义对话框中的android调整大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立一个自定义警告对话框,我的应用程序,我已经写了code和它的工作,但唯一的问题是它的大小,按我在对话框的内容是不调整。下面是我的code:

I am building an custom alert dialog box for my application i have written the code and its working but the only problem is its size it is not adjusting according to my content in dialog box. below is my code:

public class CustomDialogBoxActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button)findViewById(R.id.Button01main);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                final Dialog myDialog = new Dialog(CustomDialogBoxActivity.this);
                myDialog.setContentView(R.layout.dialog_sms_layout);
                myDialog.setTitle("Select any one");


                Button ok = (Button)myDialog.findViewById(R.id.buttonOK);
                final RadioGroup radioGrp = (RadioGroup)myDialog.findViewById(R.id.radioGroupSmsDialog);

                final CheckBox mob1 = (CheckBox)myDialog.findViewById(R.id.checkBoxMob1);
                final CheckBox mob2 = (CheckBox)myDialog.findViewById(R.id.checkBoxMob2);
                mob1.setText("9029691986");
                mob2.setText("99263911766");

                ok.setOnClickListener(this);

                ok.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        if(mob1.isChecked() && mob2.isChecked()) {
                            if(radioGrp.getCheckedRadioButtonId() == R.id.radioSms) {
                                String[] phoneArray = {mob1.getText().toString(),mob2.getText().toString()};

                                Log.v("MOB1",mob1.getText().toString());
                                Log.v("MOB2",mob2.getText().toString());
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Message",phoneArray);

                            }else if(radioGrp.getCheckedRadioButtonId() == R.id.radioBusinessCard) {
                                String[] phoneArray = {mob1.getText().toString(),mob2.getText().toString()};

                                Log.v("MOB1",mob1.getText().toString());
                                Log.v("MOB2",mob2.getText().toString());
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Business Card",phoneArray);
                            }
                        }else if(mob1.isChecked() && !mob2.isChecked()) {
                            if(radioGrp.getCheckedRadioButtonId() == R.id.radioSms) {
                                String[] phoneArray = {mob1.getText().toString()};

                                Log.v("MOB1",mob1.getText().toString());                                
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Message",phoneArray);

                            }else if(radioGrp.getCheckedRadioButtonId() == R.id.radioBusinessCard) {
                                String[] phoneArray = {mob1.getText().toString()};

                                Log.v("MOB1",mob1.getText().toString());                                
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Business Card",phoneArray);
                            }

                        }else if(!mob1.isChecked() && mob2.isChecked()) {
                            if(radioGrp.getCheckedRadioButtonId() == R.id.radioSms) {
                                String[] phoneArray = {mob2.getText().toString()};

                                Log.v("MOB2",mob2.getText().toString());
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Message",phoneArray);

                            }else if(radioGrp.getCheckedRadioButtonId() == R.id.radioBusinessCard) {
                                String[] phoneArray = {mob2.getText().toString()};

                                Log.v("MOB2",mob2.getText().toString());
                                Log.v("Mobile No", ""+phoneArray.toString());
                                sendSms("SMS Business Card",phoneArray);
                            }

                        }else if(!mob1.isChecked() && !mob2.isChecked()) {
                            Toast.makeText(getApplicationContext(), "Select atleast one number", Toast.LENGTH_SHORT).show();
                        }                       
                    }
                });
                myDialog.show();
            }

        });
    }

    public void sendSms(String message,String[] phoneNumber) {

        Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setData(Uri.parse("sms:"));
        smsIntent.putExtra("sms_body", message);
        smsIntent.putExtra("address", phoneNumber);
        startActivity(smsIntent);       
    }
}

这是输出说我越来越按钮点击

This is the output that i'm getting on button click

这是我的main.xml

This is my main.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="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is my main activity, from here, I want to display a dialog, 
                        after the user clicked the button below this text." />

    <Button
        android:id="@+id/Button01main"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show Dialog" />

</LinearLayout>

这是我dialog_sms_layout

and this is my dialog_sms_layout

<?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:orientation="vertical" >

<RadioGroup
        android:id="@+id/radioGroupSmsDialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
         >

        <RadioButton
            android:id="@+id/radioSms"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="SMS" />

        <RadioButton
            android:id="@+id/radioBusinessCard"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Card" />
    </RadioGroup>

<CheckBox
    android:id="@+id/checkBoxMob1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:text="Primary" />

<CheckBox
    android:id="@+id/checkBoxMob2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Secondary" />

<Button
    android:id="@+id/buttonOK"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="OK" />

</LinearLayout>

我要调整该对话框的大小,请帮助。在此先感谢

I want to adjust the dialog box size please help. thanks in advance

推荐答案

我不知道这是否会为您的情况,但如果你想将其设置为全宽或类似的东西,你需要获得当前窗口的活动,并设置它的布局PARAMS像这样:

I'm not sure if this will work for your situation, but if you want to set it to full width or something similar, you need to get the current Window for the activity and set it's layout params like so:

myDialog.show();
Window window = myDialog.getWindow();
window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

这篇关于自定义对话框中的android调整大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆