我创建了一个自定义警报对话框:
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>
Java:
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();
但是当它显示的太小时:
我究竟做错了什么?我尝试将宽度和高度设置为500dp,但结果相同。
问题2,如何删除白色边框?我认为这两个问题是相同的,但我不确定。
最佳答案
Display dm = getWindowManager().getDefaultDisplay();
final int width = dm.getWidth();
final int height = dm.getHeight();
dialog.getWindow().setLayout(width, height/2);
你可以尝试一下。