2012-07-16 2 views
2

J'ai une linearlayout et une imageview à l'intérieur. La version linéaire a des coins arrondis. Je veux que mon image soit en haut de la vue, mais quand l'image apparaît, les coins ne sont plus arrondis. Que puis-je faire pour cela? Je sais que dans iOS il y a une option de sous-vues de clip pour le conteneur (UIView). Mais pas sûr avec Android.Android Clip Sous View

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:gravity="top" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/cell_rounded_edges"> 
    <ImageView 
     android:id="@+id/prodImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:gravity="top" 
     android:focusable="false" 
     android:clickable="false" 
     android:adjustViewBounds="true"  
     /> 
.....and so on 
+1

Je pense que c'est exactement ce que vous cherchez: http://stackoverflow.com/questions/5574212/ merci android-view-clipping – 0gravity

+0

merci, j'avais besoin de contourner les coins de l'image pour que cela fonctionne. Google doit résoudre ce problème. les clipChildren devraient fonctionner, mais pas. – Jesse

Répondre

1

J'ai trouvé une solution géniale et facile!

J'avais une image en haut de ma mise en page où seuls les coins supérieurs devaient être ronds (simuler le clip aux sous-vues dans iOS), puisque ma couche a tous ses coins arrondis.

Sur mon arrière-plan de l'image:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
<solid android:color="#e3e3e3"/> 
<corners android:bottomRightRadius="0dip" 
     android:bottomLeftRadius="0dip" 
     android:topLeftRadius="25dip" 
     android:topRightRadius="25dip"/> 
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
</shape> 

Sur mon arrière-plan de la couche:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
<solid android:color="#FFF"/> 
<corners android:radius="25dip"/> 
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
</shape>