Alertdialog太小了

时间:2012-10-08 07:04:50

标签: android android-layout alertdialog

我有一个自定义警告对话框,我用这个创建:

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:background="@drawable/backgroundgeneral"
android:padding="10dp" <!-- editted -->
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvMensajeAceptarDialogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:textColor="@color/negro" />

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

        <Button
            android:id="@+id/btnAceptarDialogo"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bt_rojo"
            android:gravity="bottom|center"
            android:shadowColor="#000000"
            android:shadowDx="0"
            android:shadowDy="-1"
            android:shadowRadius="0.1"
            android:text="Aceptar"
            android:textColor="@color/blanco"
            android:textSize="14sp"
            android:textStyle="bold" />
    </LinearLayout>

</LinearLayout>

爪哇:

alerta = new AlertDialog.Builder(ConfirmarVisita.this).create();
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.layoutdialogoaceptar, null);
TextView mensaje = (TextView) view.findViewById(R.id.tvMensajeAceptarDialogo);
mensaje.setText("Visita confirmada");
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.width = LayoutParams.MATCH_PARENT;
lp.height = LayoutParams.MATCH_PARENT;
alerta.getWindow().setAttributes(lp);

Button btnAceptar = (Button) view.findViewById(R.id.btnAceptarDialogo);
btnAceptar.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        alerta.dismiss();
        Intent detalleServicio = new Intent(Contexto, DetalleServicio.class);
        detalleServicio.putExtra("codigo_parcela_servicio", servicioRecogido);
        startActivity(detalleServicio);
     }
});
alerta.setView(view);              
alerta.show();

但是当它显示它太小时:

toosmall

我做错了什么?我尝试设置500dp的宽度和高度,但我有相同的结果。

问题2,如何删除白色边框?我认为这两个问题是一样的,但我不确定。

3 个答案:

答案 0 :(得分:3)

Display dm = getWindowManager().getDefaultDisplay();
    final int width = dm.getWidth();
    final int height = dm.getHeight();
dialog.getWindow().setLayout(width, height/2);

你可以尝试一下。

答案 1 :(得分:1)

尝试此警报对话框

AlertDialog.Builder builder = new AlertDialog.Builder(
                ContactList.this);

        builder.setCancelable(true);
        builder.setTitle("your title");

        builder.setInverseBackgroundForced(true);

        builder.setNegativeButton("No",
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });

        builder.setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {


                         //your stuffs
                    }
                });

        AlertDialog alert = builder.create();
        alert.show();

这可能对您有所帮助

答案 2 :(得分:0)

尝试将piou2piou.txt Hello54.txt JustAFile_78.txt hap_1002_py.txt darwin2012.txt 设置为基本android:layout_height的某个值。

例如:

LinearLayout