Ciao Devo fare il layout come sotto, il testo deve essere in TextInputLayout
per avere la funzionalità di suggerimento errore e fluttuante, e lo spinner sulla destra deve avere sottolineato. La mia domanda è come farlo, perché quando sto aggiungendo EditText
in TextInputLayout
c'è un soffietto di imbottitura e entrambe le sottolineature non sono nella stessa riga. È possibile misurare in qualche modo questa altezza del contenitore degli errori? Misurare l'altezza del contenitore degli errori TextInputLayout
risposta
Quindi ci sono due possibilità per farlo:
- Set
errorEnabled
come false e creare personalizzatoTextView
con testo di errore. - Aggiungi extra invisibile
TextView
in fondo alla seconda vista con lo stile e la dimensione del carattere che possono essere trovati nel costruttoreTextInputLayout
. Non sto usando questo metodo, ma nel mio caso è 12sp.
Questo è un problema comune e uno che ho avuto a che fare con me stesso proprio l'altro giorno. Puoi sempre dare un'occhiata alle misurazioni sullo guidelines here invece di dover esaminare il codice.
Per quanto riguarda fare una partita filatore si può iniziare con l'aggiunta di uno sfondo come questo drawable
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="-1dp"
android:left="-1dp"
android:right="-1dp"
android:bottom="1dp" >
<shape android:shape="rectangle">
<padding android:top="4dp" android:bottom="4dp" />
<stroke android:width="1dp" android:color="@color/my_grey"/>
</shape>
</item>
</layer-list>
Probabilmente si vorrà aggiungere android:padding="0dp"
al Spinner e invece di usare uno dei th simple_...
layout che aggiungono imbottitura che non corrisponde EditText, restituisce un TextView pianura come visualizzazione restituito dalla scheda, ma continuare a utilizzare il layout simple_...
per la vista a discesa, come nell'esempio qui sotto adattatore
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
//convertView = mInflater.inflate(R.layout.support_simple_spinner_dropdown_item, parent, false);
convertView = new TextView(parent.getContext());
}
//if you want to mimick the floating hint behaviour from the edit text,
//you can animate the label visibility here
return populateView(position, convertView, parent);
}
private View populateView(int position, View convertView, ViewGroup parent) {
// in here set your values as you usually would
return convertView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.support_simple_spinner_dropdown_item, parent, false);
}
return populateView(position, convertView, parent);
}
Ora forniti i margini sulla corrispondenza EditText e Spinner, si allineeranno. Anche se in alcuni layout devo impostare android:layout_marginTop="0dp"
su Spinner
- 1. convalida del modulo jQuery: definire il contenitore per gli errori
- 2. Refit.ApiException Gestione degli errori
- 3. Posizione del log degli errori del server integrato di PHP
- 4. Gestione degli errori ActiveResource
- 5. jQuery plug-in di convalida: aggiungi/rimuovi classe al/dal contenitore degli errori dell'elemento
- 6. Gestione degli errori in SwingWorker
- 7. Gestione degli errori in EventSource
- 8. Gestione degli errori da HttpWebRequest.GetResponse
- 9. TextInputLayout hint colour
- 10. Best practice Gestione degli errori
- 11. Gestione degli errori in SQLAlchemy
- 12. DotNetNuke e registrazione degli errori
- 13. Gestione degli errori in jQuery.getScript
- 14. Gestione degli errori in mutazioni
- 15. Gestione degli errori con PHPMailer
- 16. Gestione degli errori in addPersistentStoreWithType
- 17. NSURLManagement degli errori di sessione
- 18. PhantomJS la gestione degli errori
- 19. Gestione degli errori in MVC
- 20. pgp_sym_encrypt/pgp_sym_decrypt gestione degli errori
- 21. Metodologia di gestione degli errori
- 22. Gestione degli errori con Mongoose
- 23. Vai al concatenamento del metodo e alla gestione degli errori
- 24. Gestione degli errori del database nel framework entità
- 25. Sovrascrittura del gestore degli errori di autenticazione - Symfony2
- 26. IIS 8 - 500 log degli errori del server
- 27. Compilazione del codice Ruby Inline C - risoluzione degli errori
- 28. Gestione degli errori $ http: distinguere l'utente offline da altri errori
- 29. Come misurare l'utilizzo di applicazioni desktop da parte degli utenti?
- 30. TextInputLayout hint overlap issue
Un'altra nota per il secondo punto, 'TextInputLayout' aggiunge il riempimento alla parte inferiore del contenitore degli errori se c'è il riempimento inferiore in' EditText'. Quindi devi aggiungerlo al tuo segnaposto 'TextView'. – ono