【问题标题】:Speech bubbles in android安卓中的语音气泡
【发布时间】:2015-02-23 11:37:27
【问题描述】:

您好,我想使用气泡作为我的应用的背景图片。我在这里看到了这个帖子

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>

但我无法让它工作,任何帮助将不胜感激!

【问题讨论】:

标签: android


【解决方案1】:

传入消息:

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

希望对你有所帮助

【讨论】:

  • 有没有办法将角半径设置为右上角?
  • 我需要在右上角显示指向上方的箭头。我怎样才能做到这一点? i.stack.imgur.com/SL4bQ.png
【解决方案2】:

传入的气泡形状背景

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

外向气泡形状背景

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

最终结果

【讨论】:

  • 有没有办法将角半径设置为与锐角相对的角?
  • 是的。玩drawables直到你做对了
  • 类似这样的东西:&lt;corners android:topLeftRadius="4dp" android:bottomLeftRadius="4dp" android:bottomRightRadius="4dp"/&gt; 用于大方形矩形&lt;shape&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-26
  • 2021-09-18
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多