2014-10-14 8 views
13

enter image description here Ich habe Chat Blase mit Drawable erstellt, die gut aussieht, jetzt möchte ich Schatteneffekt unter dem Zeichen hinzufügen, so dass es 3D-Effekt.Ich möchte nicht 9-Pitch zu verwenden Bild. Ich möchte nur wissen, wie ich Schatteneffekt auf diesem Zeichen hinzufügen kann. mein Codewie Schatten-Effekt auf ziehbare in Android

---- right_bubble_chat_drawable

<?xml version="1.0" encoding="utf-8"?> 
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <corners android:radius="15dp" /> 

     <solid android:color="@color/chatrightbubbleColor" /> 

     <padding 
      android:bottom="10dp" 
      android:left="10dp" 
      android:right="10dp" 
      android:top="10dp" /> 

     <size 
      android:height="@dimen/normal_button_height" 
      android:width="@dimen/normal_button_width" /> 

--- für Ecke Zeiger 'chat_laftarraow'

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item > 
    <rotate 
     android:fromDegrees="90" 
     android:toDegrees="-90" 
     android:pivotX="50%" 
     android:pivotY="50%" > 
    <rotate 
     android:fromDegrees="45" 
     android:toDegrees="45" 
     android:pivotX="-40%" 
     android:pivotY="86%" > 
     <shape 
      android:shape="rectangle" > 
      <stroke android:color="#00aaef" android:width="1dp"/> 
      <solid 
       android:color="#00aaef" /> 

     </shape> 
     </rotate> 
     </rotate> 
     </item> 
    </layer-list> 

------- Ich bin mit ihnen wie

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 
    <View 
    android:id="@+id/left_chatArror" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:layout_alignParentRight="true" 
    android:layout_marginTop="6dp" 
    android:background="@drawable/chat_laftarraow"/> 

<RelativeLayout 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:maxWidth="220dp" 
    android:layout_marginRight="-3dp" 
    android:orientation="horizontal" 
    android:layout_toLeftOf="@+id/left_chatArror" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp" 
    android:background="@drawable/right_bubble_chat_drawable"> 

    </RelativeLayout> 
    </RelativeLayout> 

Bitte machen Sie mir, wie kann ich Schatteneffekt unterhalb der Blase, wie im Bild hinzufügen unter

enter image description here

Antwort

20

Sie durch die Implementierung einer Schicht-Liste versuchen können, die als Hintergrund für die LinearLayoout wirken und fügen Sie Ihre view innen Dies.

Zitat aus einer Antwort auf this question:

hinzufügen background_with_shadow.xml Datei zu res/drawable. Enthält:

<?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="@android:color/darker_gray" /> 
     <corners android:radius="5dp"/> 
     </shape> 
    </item> 
    <item android:right="1dp" android:left="1dp" android:bottom="2dp"> 
     <shape 
      android:shape="rectangle"> 
     <solid android:color="@android:color/white"/> 
     <corners android:radius="5dp"/> 
     </shape> 
    </item> 
</layer-list> 

Fügen Sie dann die Layerliste als Hintergrund in Ihrem LinearLayout hinzu.

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/background_with_shadow"/> 

EDIT

Sie seprate xml wie thsis graues Bild erstellen kann zur Erstellung von:

---- right_bubble_shdw_chat_drawable

<?xml version="1.0" encoding="utf-8"?> 
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <corners android:radius="15dp" /> 

     <solid android:color="@android:color/darker_gray" /> 

     <padding 
      android:bottom="10dp" 
      android:left="10dp" 
      android:right="10dp" 
      android:top="10dp" /> 

     <size 
      android:height="@dimen/normal_button_height" 
      android:width="@dimen/normal_button_width" /> 

nur in den Ecken

--- für Ecke Zeiger 'chat_laftarraow_shdw'

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item > 
    <rotate 
     android:fromDegrees="90" 
     android:toDegrees="-90" 
     android:pivotX="50%" 
     android:pivotY="50%" > 
    <rotate 
     android:fromDegrees="45" 
     android:toDegrees="45" 
     android:pivotX="-40%" 
     android:pivotY="86%" > 
     <shape 
      android:shape="rectangle" > 
      <stroke android:color="@android:color/darker_gray" android:width="1dp"/> 
      <solid 
       android:color="@android:color/darker_gray" /> 

     </shape> 
     </rotate> 
     </rotate> 
     </item> 
    </layer-list> 

------- ich sie wie

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 
    <View 
    android:id="@+id/left_chatArror" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:layout_alignParentRight="true" 
    android:layout_marginTop="6dp" 
    android:background="@drawable/chat_laftarraow"/> 

<RelativeLayout 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:maxWidth="220dp" 
    android:layout_marginRight="-3dp" 
    android:orientation="horizontal" 
    android:layout_toLeftOf="@+id/left_chatArror" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp" 
    android:background="@drawable/right_bubble_chat_drawable"> 

    </RelativeLayout> 


    <View 
    android:id="@+id/left_chatArrorShdw" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:layout_alignParentRight="true" 
    android:layout_marginTop="15dp" 
    android:background="@drawable/chat_laftarraow_shdw"/> 

<RelativeLayout 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:maxWidth="220dp" 
    android:layout_marginRight="-3dp" 
    android:orientation="horizontal" 
    android:layout_toLeftOf="@+id/left_chatArror" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp" 
    android:background="@drawable/right_bubble_shdw_chat_drawable"> 
    </RelativeLayout> 
+0

Schatten zeigt verwenden. –

+0

make different 'layer-list' code und füge einfach' 'innerhalb deines Farbcodes hinzu –

+0

Ich habe es nicht verstanden, kannst du ein Beispiel oder einen Code angeben . –