2017-03-23 1 views
0

J'ai une liste de calques, avec un ovale au début, une ligne au milieu et un rectangle à la fin; stand ovale et rectangle ont 8dpx8dp et la ligne que j'ai essayé sans utiliser la hauteur ou 32DP de hauteur x largeur 8DPL'élément central de la liste des calques ne reçoit pas la pleine hauteur

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item 
      android:gravity="top" 
      android:bottom="40dp" 
      android:top="0dp"> 
      <shape android:shape="oval"> 
       <solid android:color="@color/colorAccent" /> 
       <size android:width="8dp" android:height="8dp" 
        /> 
      </shape> 
     </item> 
     <item 
      android:top="0dp" 
      android:bottom="0dp" 
      > 
     <rotate 
      android:fromDegrees="90" 
      android:toDegrees="90"> 
      <shape 
       android:shape="line"> 
       <stroke 
        android:width="1dp" 
        android:color="#ff00ff" 
        android:dashWidth="1dp" 
        android:dashGap="2dp" 
        /> 
       <size android:width="8dp" 
        /> 
      </shape> 
     </rotate> 
     </item> 
     <item 
      android:gravity="bottom" 
      android:top="40dp" 
      android:bottom="0dp"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@color/colorAccent" /> 
       <size android:width="8dp" android:height="8dp" 
        /> 
      </shape> 
     </item> 

</layer-list> 

C'est le ImageView où je l'afficher.

<ImageView 
        android:layout_width="8dp" 
        android:layout_height="@dimen/image_large" 
        android:src="@drawable/place_selector_left_image" 
        android:layout_gravity="center_vertical" 
        /> 

Mais cela ne fonctionne pas comme prévu la ligne ne prend pas toute la hauteur qui lui est assignée.

enter image description here

Répondre

0

Il semble que lorsque j'ai créé la ligne horizontale de sorte qu'il ne peut prendre la largeur du conteneur, et quand j'ai tourné ce qu'il était pas la hauteur que je voulais, j'ai ajouté gauche et à droite OFFSET pour l'article. Ceci est mon code final.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:bottom="40dp" 
     android:top="0dp"> 
     <shape android:shape="oval"> 
      <solid android:color="@color/colorAccent" /> 
      <size 
       android:width="8dp" 
       android:height="8dp" /> 
     </shape> 
    </item> 
    <item 
     android:bottom="8dp" 
     android:top="8dp" 
     android:right="-32dp" 
     android:left="-32dp"> 
     <rotate xmlns:android="http://schemas.android.com/apk/res/android" 
      android:fromDegrees="90" 
      android:toDegrees="90"> 
      <shape 
       android:shape="line"> 
       <stroke 
        android:width="1dp" 
        android:color="#ff00ff" 
        android:dashWidth="1dp" 
        android:dashGap="2dp" /> 
       <size android:width="8dp" 
        android:height="32dp" 
        /> 
      </shape> 
     </rotate> 
    </item> 

    <item 
     android:bottom="0dp" 
     android:top="40dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/colorAccent" /> 
      <size 
       android:width="8dp" 
       android:height="8dp" /> 
     </shape> 
    </item> 
</layer-list>