Android EditText en AlertDialog parece demasiado amplio

Parece que el EditText en la imagen de abajo es demasiado amplio. Supongo que he mal utilizado el SDK de alguna manera y hasta convencido de lo contrario no estoy buscando una manera de especificar un número de margen / padding píxeles en los lados de la EditText .

Introduzca aquí la descripción de la imagen

Este parece más apropiado.

Introduzca aquí la descripción de la imagen

Aquí está mi código (que crea el primer diálogo 'Crear etiqueta'):

 final Dao<Tag, Integer> tagDao = getHelper().getTagDao(); final EditText input = new EditText(this); input.setSingleLine(true); input.setHint(R.string.create_tag_dialog_hint); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(input); builder.setTitle(getString(R.string.create_tag_dialog_title)); builder.setPositiveButton( getString(R.string.create_tag_dialog_positive), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { String value = input.getText().toString().trim(); Toast.makeText(getApplicationContext(), value, Toast.LENGTH_SHORT).show(); Tag tag = new Tag(value); try { tagDao.create(tag); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); builder.setNegativeButton( getString(R.string.create_tag_dialog_negative), null); builder.show(); 

Lo siento por la longitud de la publicación y gracias por cualquier comentario útil.

Sólo he ordenado esto yo mismo. Utilizando una instancia de AlertDialog , puede especificar setView y pasar en parámetros de espaciado. Esto funcionará.

 final EditText input = new EditText(this); AlertDialog alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("Title"); alertDialog.setMessage("Message"); alertDialog.setView(input, 10, 0, 10, 0); // 10 spacing, left and right alertDialog.setButton("OK", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Clicked } }); alertDialog.show(); 

Edit: Soy consciente de que esta pregunta es antigua, pero no se proporcionó ninguna solución.

Puedes hacerlo así:

 LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.setGravity(Gravity.CENTER_HORIZONTAL); final EditText input = new EditText(this); input.setSingleLine(true); layout.setPadding(10, 0, 10, 0); input.setHint("Hint"); layout.addView(input); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(layout); 

Además, setSingleLine está obsoleto. Debe utilizar InputStyle .

Establecer la marginleft de diseño y el margen de diseño a 5sp. El margen establece el espacio alrededor del grupo de vistas. Echa un vistazo a ViewGroup.MarginLayoutParams

Intente establecer un relleno en su EditText utilizando el método setPadding . Esto debería agregar un espacio entre el borde del EditText y el borde del diálogo. norte

  • Android - cómo convertir int a cadena y colocarlo en un EditText?
  • Cómo deshabilitar edittext en android
  • Android edittext con lista desplegable
  • Cómo hacer edittext autofocus después de mostrar un brindis?
  • Cómo cambiar el color de enfoque de EditText en Android
  • Borrado de una multilínea EditText
  • Cómo establecer el estilo de diseño de material a deshabilitado EditText (android)?
  • Identificar el tipo de patrón de regex
  • Cómo limitar EditTextPreference a un rango 1024: 65535
  • EditText en la vista de desplazamiento en android
  • Cómo ocultar el teclado después de escribir EditText en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.