2015-02-23 125 views
2

嗨我想爲我的應用程序使用氣泡作爲背景圖像。我碰到這張貼在這裏在android中的氣泡

Android drawable speech bubble

的例子來自我希望在我試圖

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:top="30dp"> 
     <rotate 
      android:fromDegrees="-45" 
      android:pivotX="0%" 
      android:pivotY="0%" 
      android:toDegrees="0" > 
      <shape android:shape="rectangle" > 
       <solid android:color="#CCC" /> 
      </shape> 
     </rotate> 
    </item> 
    <item android:right="10dp"> 
     <shape android:shape="rectangle" > 
      <solid android:color="#CCC" /> 

      <corners android:radius="5dp" /> 
     </shape> 
    </item> 

</layer-list> 

相反的方向來實現這個正確的方向開始,但我無法得到它的工作,任何幫助將不勝感激!

+1

http://warting.github.io/AndroidChatBubbles/ - 檢查了這一點 – 2015-02-23 11:44:21

+0

,請使用9片圖像,你的90%工作減少! – theLazyFinder 2015-02-23 12:03:46

+0

什麼是創建9個補丁圖像的最佳方式 – Sim 2015-02-23 12:09:49

回答

11

傳入消息:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <rotate 
      android:fromDegrees="-45" 
      android:pivotX="0%" 
      android:pivotY="0%" > 
      <shape android:shape="rectangle"> 
       <solid android:color="@color/chat_message_background_incoming" /> 
      </shape> 
     </rotate> 
    </item> 
    <item android:left="20dp"> 
     <shape 
      android:shape="rectangle"> 
      <solid android:color="@color/chat_message_background_incoming"/> 
      <corners 
       android:radius="1dp" 
       android:bottomLeftRadius="15dp" 
       android:bottomRightRadius="15dp" 
       android:topLeftRadius="5dp" 
       android:topRightRadius="15dp" /> 
     </shape> 
    </item> 

</layer-list> 

傳出消息:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <rotate 
      android:fromDegrees="45" 
      android:pivotX="100%" 
      android:pivotY="0%" > 
      <shape android:shape="rectangle"> 
       <solid android:color="@color/chat_message_background_outcoming" /> 
      </shape> 
     </rotate> 
    </item> 
    <item android:right="20dp"> 
     <shape 
      android:shape="rectangle"> 
      <solid android:color="@color/chat_message_background_outcoming"/> 
      <corners 
       android:bottomLeftRadius="15dp" 
       android:bottomRightRadius="15dp" 
       android:topLeftRadius="15dp" 
       android:topRightRadius="5dp" /> 
     </shape> 
    </item> 

</layer-list> 

希望,這將有助於

+0

謝謝你,我會嘗試一下 – Sim 2015-02-23 21:26:25

+0

謝謝你,謝謝你 – 2016-09-23 11:46:45

+0

耶,謝謝你一直在尋找這個年齡 – 2017-11-23 14:12:41

0

傳入氣泡形狀背景

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <rotate 
     android:fromDegrees="-45" 
     android:pivotX="100%" 
     android:pivotY="100%" 
     android:toDegrees="0" > 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/colorSendMessageBg" /> 
     </shape> 
    </rotate> 
</item> 
<item android:right="5dp"> 
<shape android:shape="rectangle" > 
    <solid android:color="@color/colorSendMessageBg" /> 
    <corners android:radius="5dp" /> 
</shape> 
</item> 
</layer-list> 

傳出氣泡形狀BA ckground

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

<item> 
    <rotate 
     android:fromDegrees="45" 
     android:pivotX="0%" 
     android:pivotY="100%" 
     android:toDegrees="0" > 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/colorReciveMessageBg" /> 
     </shape> 
    </rotate> 
</item> 

<item android:left="5dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="@color/colorReciveMessageBg" /> 
     <corners android:radius="5dp" /> 
    </shape> 
</item> 

</layer-list> 

最終結果

enter image description here

enter image description here