65 votes

Comment ajouter une bordure autour de la mise en page linéaire, sauf en bas?

Comment ajouter une bordure autour de la mise en page linéaire, sauf en bas? LinearLayout doit avoir une bordure à gauche, en haut et à droite, mais pas en bas.

169voto

Android Stack Points 1981

Creat XML appelé border.xml dans le dossier drawable comme ci-dessous :

 <?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="#FF0000" /> 
    </shape>
  </item>   
    <item android:left="5dp" android:right="5dp"  android:top="5dp" >  
     <shape android:shape="rectangle"> 
      <solid android:color="#000000" />
    </shape>
   </item>    
 </layer-list> 

ajoutez ensuite cette linéaire disposition que le backgound comme ceci:

         android:background="@drawable/border"

EDIT :

Ce XML testé avec galaxy s running GingerBread 2.3.3 et exécuter perfactlly comme sur l'image ci-dessous:

enter image description here

AUSSI

testé avec galaxy s 3 en cours d'exécution JellyBean 4.1.2 et fonctionnent parfaitement comme sur l'image ci-dessous :

enter image description here

Enfin ses œuvres perfectlly avec toutes les Api

EIDT 2 :

Il peut être fait d'une autre manière si vous souhaitez définir un arrière-plan transparent et de toujours garder la frontière, sauf en bas comme ci-dessous :

<?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:left="0dp" android:right="0dp"  android:top="0dp"  
        android:bottom="-10dp"> 
    <shape android:shape="rectangle">
     <stroke android:width="10dp" android:color="#B22222" />
    </shape>
   </item>  
 </layer-list> 

espérons que cette aide .

57voto

Kenny Points 3588

Enregistrez ce fichier xml et ajoutez-le comme arrière-plan de la mise en page linéaire ....

 <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="4dp" android:color="#FF00FF00" /> 
    <solid android:color="#ffffff" /> 
    <padding android:left="7dp" android:top="7dp" 
            android:right="7dp" android:bottom="0dp" /> 
    <corners android:radius="4dp" /> 
</shape>
 

J'espère que cela t'aides! :)

22voto

Jonas Points 221

Kenny a raison, je veux juste clarifier certaines choses.

  1. Créez le fichier border.xml et mettez-le dans le dossier res/drawable/
  2. ajouter le code

     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
       <stroke android:width="4dp" android:color="#FF00FF00" /> 
       <solid android:color="#ffffff" /> 
       <padding android:left="7dp" android:top="7dp" 
            android:right="7dp" android:bottom="0dp" /> 
       <corners android:radius="4dp" /> 
    </shape>
     
  3. en arrière comme android:background="@drawable/border" où vous voulez la frontière

Le mien d'abord n'a pas fonctionné parce que j'ai mis les border.xml dans le mauvais dossier!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X