2014-10-14 5 views
13

enter image description here 드로어 블과 함께 대화 풍선을 만들었습니다. 드로어 블 아래에 그림자 효과를 추가하여 3D 효과를주고 싶습니다. 9 피치를 사용하고 싶지 않습니다. 영상. 이 drawable에 그림자 효과를 어떻게 추가 할 수 있는지 알고 싶습니다. 내 코드는 코너 포인터 'chat_laftarraow'android에서 드로어 블에 그림자 효과를 추가하는 방법

<?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> 

에 대한 --- ----

<?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" /> 
right_bubble_chat_drawable

입니다 ------- 내가 그들을 사용하고 like

<?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> 

어떻게

enter image description here

답변

20
당신은 LinearLayoout의 배경으로 작용하고 내부 사용자의 view를 추가하는 레이어 목록을 구현하여 시도 할 수 있습니다

아래 이미지와 같이 거품 아래에 그림자 효과를 추가 할 수 있습니다 저를 제안하십시오 이. this question에 대한 답변에서

인용구 :

res/drawable에 background_with_shadow.xml 파일을 추가합니다. 함유 :

<?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> 

그런 다음 당신의 LinearLayout의 배경으로 레이어 목록을 추가 할 수 있습니다.

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

당신은 thsis 같은 회색 이미지를 만들기위한 seprate XML을 생성 할 수 있습니다

편집 : 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" /> 

--- 코너 포인터 '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> 

------- 위해 내가

<?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

그림자처럼 그들을 사용하고 있습니다 만 모서리에 표시됩니다. –

+0

differentnt'layer-list' 코드를 만들고 색상 코드 안에'solid android : color = "@ android : color/darker_gray"/>를 추가하십시오. –

+0

나는 그것을 얻지 못했습니다. 예제 나 코드를 줄 수 있습니까? . –

관련 문제