Eu quero um simples TextView
para se comportar da maneira simple_list_item_1
em um ListView
faz. Aqui está o XML:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:gravity="center" android:focusable="true"
android:minHeight="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@android:drawable/list_selector_background" />
Tudo funciona, exceto a cor do texto que (provavelmente) não muda no estado de foco. Como faço para mudar para textAppearanceLargeInverse
?
android
textview
android-selector
yanchenko
fonte
fonte
Respostas:
Eu fiz vários testes até que um funcionasse, então: res / color / button_dark_text.xml
res / layout / view.xml
fonte
android:textColor="@color/button_dark_text"
res/color
pasta?E o seletor é a resposta aqui também.
Procure bright_text_dark_focused.xml nas fontes, adicione ao seu projeto no diretório res / color e, em seguida, consulte no TextView como
fonte
ListFragment
e acabei com vários erros . O que estou fazendo de errado?Aqui está minha implementação, que se comporta exatamente como item da lista (pelo menos na versão 2.3)
res / layout / list_video_footer.xml
res / color / bright_text_dark_focused.xml
fonte
Para fazê-lo funcionar na seleção em uma exibição de lista, use o seguinte código:
Aparentemente, a chave é
state_activated="true"
estado.fonte
Aqui está o exemplo do seletor. Se você usa o eclipse, isso não sugere algo quando você clica em ctrl e espaço ambos: / você deve digitá-lo.
Você pode procurar por referência;
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
fonte
Eu sempre usei a solução acima sem pesquisar mais depois disso. ;-)
No entanto, hoje me deparei com algo e pensei em compartilhá-lo. :)
Esse recurso está realmente disponível na API 1 e é chamado de ColorStateList , onde podemos fornecer uma cor para vários estados de Widgets (como já sabemos).
Também está muito bem documentado, aqui.
fonte
No
res/color
lugar do arquivo "text_selector.xml":Em seguida,
TextView
use-o:E no código, você precisará definir um ouvinte de clique.
Desculpe se há erros, alterei um código antes de publicar e não verifiquei.
fonte
Se usando TextViews em abas, essa definição de seletor funcionou para mim (tentei o Klaus Balduino, mas não funcionou):
fonte
Você já tentou
setOnFocusChangeListener
? Dentro do manipulador, você pode alterar a aparência do texto.Por exemplo:
Você pode aplicar as alterações que desejar quando estiver focado ou não. Você também pode usar o ViewTreeObserver para ouvir alterações no foco global.
Por exemplo:
Espero que isso ajude ou lhe dê idéias.
fonte