Sto personalizzando un pulsante in Android cambiando il suo background (usando un file png di 9patch) e cambiando il suo carattere tipografico. Inserisco il pulsante in un RelativeLayout
poiché ho bisogno di posizionamenti e quotature precise di questo elemento in un layout personalizzato. Sto facendo tutto questo programmaticamente (dalla creazione all'impostazione e alla visualizzazione).Come si può evitare di tagliare il testo su un pulsante?
Ho trovato this question con lo stesso problema, ma la soluzione non funzionerà per me. Ho usato
continueBtn.setPadding(0,0,0,0);
ma l'uscita grafica rimane la stessa. Più della metà del testo è troncato nella vista.
Un estratto del codice che sto usando è il seguente:
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);
Non importa dove ho messo la chiamata setPadding
metodo, le cose non cambieranno. Cosa sto sbagliando? Qualche idea?
Probabilmente si desidera aggiungere il padding a LayoutParams prima di impostarli per il pulsante? Perché la soluzione di imbottitura "non funziona per [tu]"? – matt5784
Hai usato .setPadding con solo 0 valore? Hai provato il padding senza RelativeLayout? – Ali
@ matt5784 Non posso aggiungere padding a 'RelativeLayout.LayoutParams', poiché non riesco a vedere nessuna API adatta. @ Ali ho usato '.setPadding' con un paio di valori diversi, ma nulla è cambiato. – marzapower