7
votes

Comment puis-je créer un textview comme un bouton?

J'ai une liste de liste à Android. Chaque ligne n'est qu'un élément qui commence une autre activité avec une certaine ressource. Par défaut, ceci est bien sûr un TextView.

J'aimerais (et par "J'aimerais", je veux dire "le client insiste") que TextView ressemble à un bouton. Si je leur fais des boutons, la liste par défaut cliquez sur le gestionnaire ne fonctionne plus - même si elles ne sont pas concenables - je dois donc écrire du code pour gonfler manuellement la vue contenant le bouton et définir un gestionnaire de clic.

Y a-t-il une certaine manière que je peux simplement rendre le TextView ressemble à un bouton sans aucun des comportements d'un bouton?


0 commentaires

4 Réponses :


6
votes

Vous devriez simplement être capable de créer un digue d'un bouton et d'utiliser Set de ferrawableDrawable () sur le TextView . .

Alternativement, vous pouvez utiliser le Android: fond attribut XML.


4 commentaires

J'utilise un cursoradapter et une liste de liste - idéalement, je n'ai jamais besoin d'appeler une fonction particulière sur le "bouton" car il n'y a aucun code qui sait qu'il existe.


Réponse modifiée Pour inclure l'attribut XML que vous pouvez utiliser si vous ne voulez pas le faire par programme.


Y a-t-il un nom que je peux utiliser pour obtenir le style de bouton "Par défaut"? Y compris ma propre image dradable augmentera la taille du programme et le risque de conflit avec la plate-forme par défaut.


Trouver l'image par défaut n'est pas ma préoccupation - les utilisateurs ayant une autre pour leur thème de système sont.



11
votes

Vous devriez pouvoir simplement définir le style dans le fichier XML de layout.

voir http: //developer.android.com/reference/andrroid/r.style.html pour une liste du style de plate-forme intégré. Je ne sais pas à quel point cela fonctionnerait bien, mais c'est raisonnablement facile à faire. Essayez ceci: P>

<TextView android:layout_height="wrap_content" style="@android:style/Widget.Button" android:layout_marginRight="5sp" android:text="" android:clickable="false" android:layout_width="fill_parent"></TextView>


4 commentaires

Ceci, quelque peu incroyablement, ne fonctionne pas. Avoir le style de bouton suffit pour faire la liste des blocs de vue Cliquez sur Events.


Vous devriez pouvoir simplement remplacer le Android: attribut cliquable. Voir mon édition.


Ça marche. Merci. Vous venez de m'a sauvé de doubler les lignes de cette activité triviale.


Comment donner à Berderradius ??



1
votes

Prenez cette disposition complète de mon projet:

<?xml version="1.0" encoding="utf-8"?>

<!-- Solution 1: New Button appearance -->
<!--TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    style="@android:style/Widget.DeviceDefault.Button"
    android:textAllCaps="false"
    android:focusable="false"
    android:clickable="false" /-->

<!-- Solution 2: Old Button appearance -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@android:drawable/btn_default"
      android:gravity="center_vertical|center_horizontal" />


1 commentaires

Nice cela me permet de convertir simplement un TextView en un bouton sans avoir à faire d'autres modifications XML / programmation.



0
votes

dans XML TextView Set: xxx

et dans le fichier de fichier Java: xxx


0 commentaires