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
.
- Haga que EditText crezca a medida que se llena
- ¿Cómo hace un Android EditText (TextView) dibujar el cursor parpadeante?
- Cómo extraer texto con estilo HTML de un EditText en Android?
- Cambiar el carácter de máscara de la contraseña de EditText a asterisco (*)
- Android Editar texto cubierto por el teclado en el segundo toque
Este parece más apropiado.
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.
- Android: TextInputLayout no centrará la pista
- Android - Quiere restringir algunos charaters al edittext
- EditText se congela / no muestra texto al escribir
- Desarrollo de Android: ¿Mejora el desplazamiento de EditText?
- Android edittext - selecciona el número de teléfono del contacto (con autocompletado)
- Evitar la caída de arrastre del tipo mime personalizado a EditText
- Tipo de texto de correo electrónico android
- Cómo utilizar TransformationMethod en android
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