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. P>
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. P >
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? p>
4 Réponses :
Vous devriez simplement être capable de créer un Alternativement, vous pouvez utiliser le digue code> d'un bouton et d'utiliser
Set de ferrawableDrawable () code>
sur le TextView p>. P>.
Android: fond code>
attribut XML. p>
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.
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>
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 code> cliquable. Voir mon édition.
Ça marche. Merci. Vous venez de m'a sauvé de doubler les lignes de cette activité triviale.
Comment donner à Berderradius ??
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" />
Nice cela me permet de convertir simplement un TextView en un bouton sans avoir à faire d'autres modifications XML / programmation.
dans XML TextView Set: et dans le fichier de fichier Java: p>