web-dev-qa-db-fra.com

Comment afficher uniquement les bordures supérieure et inférieure

Ceci est mon code XML qui fonctionne bien, le seul problème est qu’il montre une bordure sur les quatre côtés alors que je veux seulement afficher une bordure en haut et en bas seulement. Comment puis je faire ça?

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >

    <solid Android:color="#FFFFFF" />
    <stroke
        Android:width="3dip"
        Android:color="#B1BCBE"
    />

    <padding
        Android:bottom="0dip"
        Android:left="0dip"
        Android:right="0dip"
        Android:top="0dip"
    />

</shape>
13
user2761245

Essayez le 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:bottom="5dp"  Android:top="5dp" >  
     // add Android:right="5dp" and Android:left="5dp" for border on left and right
     <shape Android:shape="rectangle"> 
      <solid Android:color="#000000" />
    </shape>
   </item>    
 </layer-list> 

enter image description here

Modifier:

Modifiez les éléments ci-dessous en fonction de vos besoins en modifiant la couleur, la largeur de trait et le remplissage.

<?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
  <item> 
    <shape Android:shape="rectangle">
    <stroke
        Android:width="5dip"
        Android:color="#B1BCBE"
    />
    <padding
        Android:bottom="0dip"
        Android:left="0dip"
        Android:right="0dip"
        Android:top="0dip"
    />
    </shape>
  </item>   
    <item Android:bottom="5dp"  Android:top="5dp" >  
     <shape Android:shape="rectangle"> 
      <solid Android:color="#FFFFFF" />
    </shape>
   </item>    
 </layer-list>  

Casser

enter image description here

35
Raghunandan

utilisation:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
 <!-- Describes the line -->
    <item Android:top="-1dp" Android:bottom="-1dp">
        <shape>
            <solid Android:color="@Android:color/transparent" />
            <stroke Android:width="1dp" Android:color="#ffffff" />
        </shape>   
    </item>
</layer-list>
9
Daniel L.

Essaye ça: 

<padding
    Android:bottom="0dip"
    Android:left="-1dip"
    Android:right="-1dip"
    Android:top="0dip" 
/>
7
Prachi

Référez-vous ce code -

<?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="#cccccc"/>
        </shape>
    </item>
    <item Android:top="2dp" Android:bottom="2dp">
        <shape 
            Android:shape="rectangle">
        <solid Android:color="#efefef"/>
        </shape>
    </item>
</layer-list>
1
Vishal Pawale

Il est préférable de ne pas mentionner les attributs de hauteur et de largeur dans la liste des couches, car les attributs de hauteur et de largeur d'élément sont pris en charge uniquement par l'API 23.

Vous pouvez utiliser ci-dessous Drawable ayant fonctionné sous Android 4.0 et supérieur à 5.0.

<?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="@color/blue_light" />  <!-- this is stroke color-->
        </shape>
    </item>

    <item Android:bottom="5dp" Android:top="5dp">
        <shape Android:shape="rectangle">
            <solid Android:color="@color/dark_blue" />  <!-- this is main color-->
        </shape>
    </item>

</layer-list>
1
Pranav