2012-08-31 2 views
6

Ho un edittext nella mia applicazione che mostrerà il cursore correttamente in Froyo o Gingerbread, tuttavia in sdk successivi il cursore è invisibile. Ho trovato online la soluzione è impostare android: textCursorDrawable = "@ null" in modo che l'edittext utilizzi il colore del carattere per il cursore. Tuttavia, poiché la mia minsdkversion è 8, non ho accesso a quella proprietà.Cursore di Edittext per Android invisibile

È un modo per aggiungere selettivamente una proprietà in base allo sdk attivo? O forse un modo per ovviare a questo in modo che io possa avere cursori visibili su entrambe le versioni di sdk sia vecchie che nuove?

+1

Non è possibile utilizzare cartelle di layout diverse per le versioni sopra 'Gingerbread' dove si imposta tale proprietà? – Luksprog

+0

@Luksprog è probabilmente la via più semplice da quello che riesco a vedere. –

+0

@Luksprog Ti dispiacerebbe pubblicare un esempio? – Michaeldcooney

risposta

3

Non conosco la configurazione corrente, ma un modo per utilizzare tale proprietà è quello di utilizzare cartelle di layout diverse basate su varie versioni di Android. android:textCursorDrawable è una proprietà introdotta in API 12 in modo da poter disporre di una cartella di layout come layout-v12 che verrà utilizzata laddove l'API ha 12 o più. Nei layout di questa cartella l'uso della proprietà è valido. Per le versioni inferiori, Froyo e Gingerbread, non si verificano problemi, quindi si utilizzerà una cartella predefinita, layout. Alla fine avrete due cartelle layout (che contiene gli stessi file di layout):

layout // don't need the property 
layout-v12 // use the property 

che lascia fuori API 11, non so se questo è un insuccesso per voi.

+0

Grazie, questo è quello che mi serviva! – Michaeldcooney

+0

questo non funziona perché eclipse si lamenterà ancora del layout layout 14 con un attributo non valido per la versione minsdk. –

+0

@timT Non ho ricevuto quell'errore. Assicurati di avere gli ultimi aggiornamenti. – Luksprog

0

provare a impostare il vostro targetSdkVersion a livello di API 13 o superiore per accedere al Android: proprietà textCursorDrawable

+0

My targetSdkVersion is 16 – Michaeldcooney

0

Se non è un cursore Credo che l'ingresso è semplice e dire che solo è possibile immettere nuovi caratteri alla fine del il testo?

Penso che tu possa utilizzare un TextView e per aggiungere questo possiedi KeyListener? Ma in questo caso si vuole ha problemi con la tastiera virtuale non è spettacolo, vedere una parte di questo link:

Forcing the Soft Keyboard open

android force keyboard visible

o creare propria tastiera se la squillato di chiavi valide è molto limite come solo cifre.