2015-07-30 16 views
8

Ho un edittoxt racchiuso all'interno di un textinputlayout dalla libreria di supporto e sto trovando impossibile far apparire il suggerimento al centro del campo. Ho provato tutti i soliti trucchi che si possono trovare in altre discussioni sullo stackoverflow, come puoi vedere dall'esempio del codice, ma il suggerimento appare ancora ostinatamente a sinistra dell'editor. Come posso risolvere questo?Android: TextInputLayout non centrerà il suggerimento

Si prega di non suggerire l'utilizzo di paddingLeft o paddingAvviare per farlo - Voglio qualcosa che funzionerà in modo pulito su diversi dispositivi, quindi deve essere una soluzione diritta piuttosto che una soluzione alternativa.

Giusto per essere chiari: se rimuovo il textinputlayout, il suggerimento è centrato correttamente. È il textinputlayout che sta causando il problema qui.

<android.support.design.widget.TextInputLayout 
     android:id="@+id/someId" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="30dp" 
     android:layout_marginStart="30dp" 
     android:layout_marginRight="30dp" 
     android:layout_marginEnd="30dp" 
     android:layout_marginTop="10dp" 
     android:gravity="center" 
     android:ellipsize="start" 
     android:maxLines="1" 
     android:inputType="textPersonName" 
     > 

    <EditText 
     android:id="@+id/someId" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:hint="@string/somehint" 
     android:textColorHint="@color/somecolor" 
     android:textSize="20sp" 
     android:textColor="@android:color/black" 
     android:background="@android:color/white" 
     android:cursorVisible="true" 
     android:textCursorDrawable="@null" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:inputType="textPersonName" 
     android:maxLines="1" 
     android:ellipsize="start" 
     /> 

</android.support.design.widget.TextInputLayout> 

Utilizzando l'ultima versione della libreria di supporto:

compile 'com.android.support:design:22.2.1' 

Edit - cose che ho cercato di risolvere questo:

1) sostituire EditText con android.support.v7.widget .AppCompatEditText - non funziona

2) utilizzando l'app: hintTextAppearance = "@ style/TextAppearance.AppCompat" all'interno del textinputlayout - non funziona

3) Invece di definire il suggerimento nell'editorto, l'impostazione del suggerimento a livello di codice utilizzando textinputlayout.sethint all'interno dell'attività non funziona: il suggerimento appare sulla sinistra.

4) Impostazione del suggerimento su edittext in onActivityCreated. Sembrava funzionare inizialmente, ma ho scoperto che anche se il suggerimento appare centrato, la funzionalità di inputtextlayout si interrompe e facendo clic su edittext non viene più eseguita l'animazione del suggerimento.

+0

http://chintanrathod.com/textinputlayout-material-design-support-library-tutorial/ –

risposta

0

Non sembra esserci un modo per farlo (almeno non che riesca a trovarlo). Per aggirare il problema Ho provato ad utilizzare la libreria MaterialEdittext 3a parte - anche non è l'ideale in quanto, anche se il piccolo suggerimento animata è centrata, appare all'interno della casella di testo, invece di fuori di esso:

https://github.com/rengwuxian/MaterialEditText

+0

Non ho capito bene, ho un problema simile, ho bisogno di suggerimenti e testo per essere visualizzato sul lato destro così come un messaggio di errore. Hai risolto questo problema con questa libreria? Grazie –

Problemi correlati