Estoy personalizando un botón en Android cambiando su fondo (usando un archivo png 9patch) y cambiando su tipo de fuente. Puse el botón en un RelativeLayout
ya que necesito un posicionamiento y un dimensionamiento precisos de este elemento en un diseño personalizado. Estoy haciendo todo esto programáticamente (desde la creación hasta la configuración y visualización).¿Cómo se puede evitar que el texto se corte en un botón?
Encontré this question con el mismo problema, pero la solución no funcionará para mí. Usé
continueBtn.setPadding(0,0,0,0);
pero la salida gráfica sigue siendo la misma. Más de la mitad del texto está cortado en la vista.
Un extracto del código que estoy usando es el siguiente:
Button continueBtn = new Button(getContext());
p = new RelativeLayout.LayoutParams(width, 45);
p.addRule(CENTER_HORIZONTAL);
continueBtn.setLayoutParams(p);
continueBtn.setTypeface(...);
continueBtn.setTextSize(14);
outerLayout.addView(continueBtn);
continueBtn.setPadding(0, 0, 0, 0);
No importa donde pongo la llamada setPadding
método, las cosas no van a cambiar. ¿Qué estoy haciendo mal? ¿Algunas ideas?
¿Probablemente quiera agregar relleno a sus LayoutParams antes de configurarlos para el botón? ¿Por qué la solución de relleno "no funcionará para [usted]"? – matt5784
¿Usaste .setPadding con solo 0 valor? ¿Has intentado rellenar sin RelativeLayout? – Ali
@ matt5784 No puedo agregar relleno a 'RelativeLayout.LayoutParams', ya que no puedo ver ninguna API adecuada. @ Ali usé '.setPadding' con un par de valores diferentes, pero nada cambió. – marzapower