J'ai besoin de créer une forme androïde pour que seul le bas ait un trait (une ligne en pointillés). Lorsque j'essaye ce qui suit, le trait coupe la forme en deux par le centre. Quelqu'un sait-il comment faire les choses correctement? le trait doit être la ligne du bas / la bordure. J'utilise la forme comme arrière-plan d'un TextView. S'il vous plaît, ne vous inquiétez pas pourquoi j'en ai besoin
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item>
<shape android:shape="line" >
<padding android:bottom="1dp" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
android
android-drawable
android-styles
layer-list
Côte Mounyo
la source
la source
Réponses:
C'est une sorte de hack, mais je pense que c'est probablement la meilleure façon de le faire. La ligne pointillée sera toujours en bas, quelle que soit la hauteur.
Explication:
La deuxième forme est un rectangle transparent avec un contour en pointillé. La clé pour que la bordure n'apparaisse que le long du bas réside dans les marges négatives définies sur les autres côtés. Ces marges négatives "poussent" la ligne en pointillé à l'extérieur de la zone dessinée sur ces côtés, ne laissant que la ligne le long du bas. Un effet secondaire potentiel (que je n'ai pas essayé) est que, pour les vues qui sortent de leurs propres limites, les bordures de marge négative peuvent devenir visibles.
la source
Cela fait l'affaire ...
la source
la source
Cette réponse est destinée aux chercheurs Google qui souhaitent afficher la bordure inférieure en pointillé
EditText
comme iciCréez un dossier
dotted.xml
intérieurdrawable
et collez-lesEnsuite, définissez simplement l'
android:background
attribut quedotted.xml
nous venons de créer. VotreEditText
ressemble à ceci.la source
Je pense que c'est simple, sans toutes ces rembourrages négatifs ou cigognes.
la source
<item android:drawable="@color/main_bg_color"/>
Essayez le prochain code de dessin xml:
la source
Je pense que vous n'avez pas besoin d'utiliser la forme si je vous ai compris.
Si vous regardez comme indiqué dans l'image suivante, utilisez la disposition suivante.
ÉDITER
jouer avec ces propriétés, vous obtiendrez un résultat
essaie comme ça
la source
Une solution simple:
Créez un fichier dessinable comme edittext_stroke.xml dans le dossier dessinable. Ajoutez le code ci-dessous:
Dans le fichier de mise en page, ajoutez le dessinable à edittext comme
la source
Habituellement, pour des tâches similaires - j'ai créé une liste de calques pouvant être dessinée comme celle-ci:
L'idée est que vous dessinez d'abord le rectangle avec underlineColor, puis par-dessus celui-ci, vous dessinez un autre rectangle avec le buttonColor réel mais en appliquant bottomPadding. Ça marche toujours.
Mais quand j'avais besoin que buttonColor soit transparent, je ne pouvais pas utiliser le dessin ci-dessus. J'ai trouvé une autre solution
(comme vous pouvez le voir ici, le mainButtonColor est transparent et white_box est juste un simple rectangle dessinable avec un solide blanc)
la source
utilisez ce xml changez la couleur avec votre choix.
In Case si vous voulez par programme
appelez cette méthode comme
la source
Cela a fonctionné le mieux pour moi:
Affiche la ligne en bas uniquement. Vous pouvez facilement modifier la largeur du trait à la taille que vous aimez et également mettre à jour le haut, la gauche et la droite en conséquence.
la source
Le moyen le plus simple de le faire est de placer après cette vue où vous voulez la bordure inférieure
la source
c'est Edittext complètement transparent avec fond transparent.
la source
Une solution simple :
Et enfin nous avons quelque chose comme ça :)
la source