2016-04-15 12 views
1

i um meinen cardview Kräuselungeffekt und Grenze will, und ich habe zwei XML-Datei einen für Grenze und andere für riple Wirkung, so wie kann ich auf meinem cardview als Hintergrundwie zwei XML-Datei setzen zusammen als Hintergrund

hier ist mein Code

shape.xml (v17)

<?xml version="1.0" encoding="UTF-8"?> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
       <stroke android:width="1dp" android:color="#1B5E20" /> 
       <corners android:radius="2dp"/> 
       <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
     </shape> 

ripple.xml (v21)

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="?android:attr/colorControlHighlight"> 
    <item 
      android:id="@android:id/mask" 
      android:drawable="@android:color/white"> 
    </item> 
</ripple> 

und hier ist mein cardview, dass ich beide zusammen, was einstellen wollen ..

cardview.xml

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.v7.widget.CardView 
      android:layout_marginTop="10dp" 
      android:id="@+id/cardView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      xmlns:android="http://schemas.android.com/apk/res/android"> 

     <RelativeLayout 
       android:background="@drawable/shape" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:padding="16dp"> 

      <TextView 
        android:textColor="#000" 
        android:id="@+id/title" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Title" 
        android:textSize="20sp" /> 

     </RelativeLayout> 
    </android.support.v7.widget.CardView> 

, wie ich beide Datei festlegen können zusammen bcz zwei Hintergrund in auf das Layout nicht unterstützt wird. hilf mir, bitte.

+1

überprüfen Sie diesen Link http://stackoverflow.com/questions/24527402/android-l-ripple-touch-effect-on-shape –

Antwort

1

Do it Schicht-Liste. cardview_style.xml

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape> 
     <stroke android:width="1dp" android:color="#1B5E20" /> 
     <corners android:radius="2dp"/> 
     <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
    </shape> 
</item> 
<item> 
    <ripple 
     xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="?android:attr/colorControlHighlight"> 
     <item 
     android:id="@android:id/mask" 
     android:drawable="@android:color/white"></item> 
    </ripple> 
</item> 

dann in den Hintergrund Attribut folgende Datei.

+0

meine Form hat Eckenradius von 100dp, d. H. Kreisförmige Ecke. Wie man das gleiche bei Welligkeit zeigt. Welligkeit erscheint wie ein Rechteck. –

1

Erstellen Sie eine neue XML mit einer Schicht-Liste und Ihre Form hinzufügen und kräuseln darin

1

Genau wie Iulian Popescu sagte Sie Schicht-Liste verwenden können, was die beste Wahl zu sein scheint. Aber wenn Sie darauf bestehen, dass sie xmls sie separat halten, dann können Sie sie immer in Ihrem Code mit Canvas zusammenführen. diese Themen verwenden, wenn Sie diese Techniken verwenden möchten:

How to merge bitmaps

Converting drawables to bitmaps