为文本消息链接HandcentSMS创建对话框链接弹出窗口

Chi*_*ins 1 sms android dialog

我正在修改测试消息应用程序,我想要添加到其中的一个功能是,当收到文本消息时,会弹出一些带有文本消息的对话框并且能够快速回复它,所有这些都无需进入实际应用程序.以HandcentSMS为例,以下是我所说的:

快速文字回复

任何想法如何去做,或者有人能指出我的方向来开始这个?

Mic*_*l P 5

您可以创建一个活动,并使用自定义样式设置样式,该样式应继承Theme.Dialog示例样式:

<style name="Theme.MyDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:drawable/alert_light_frame</item>
        <item name="android:textColorPrimary">@android:color/black</item>
        <item name="android:textColor">@android:color/black</item>            
        <item name="android:overScrollMode">never</item>
        <item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

最重要的是正确准备活动的xml布局.我建议垂直使用WRAP_CONTENT,水平调整FILL_PARENT.

示例布局xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="280dp"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/frg_alert_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:id="@android:id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/topbar_logo"
            android:drawablePadding="10dp"
            android:gravity="center_vertical"
            android:padding="10dp"
            android:text="Title"/>
        <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:background="@android:drawable/divider_horizontal_bright"/>
    </LinearLayout>
    <FrameLayout
        android:id="@+id/customPanel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:visibility="gone">
        <FrameLayout
            android:id="@+id/custom"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </FrameLayout>
    <ScrollView
        android:id="@+id/messagePanel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:padding="10dp">
        <TextView
            android:id="@android:id/message"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Some text"/>
    </ScrollView>
    <View
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:background="@android:drawable/divider_horizontal_bright"/>
    <LinearLayout
        android:id="@+id/frg_alert_three_buttons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="5dp"
        android:visibility="gone"
        android:weightSum="3">
        <Button
            android:id="@+id/button_positive"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_weight="1"
            android:maxLines="2"
            android:minLines="2"
            android:text="Button"/>
        <Button
            android:id="@+id/button_neutral"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:maxLines="2"
            android:text="Button"/>
        <Button
            android:id="@+id/button_negative"
            style="?android:attr/buttonStyle"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:maxLines="2"
            android:text="Button"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/frg_alert_two_buttons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="@dimen/screenPadding"
        android:weightSum="2">
        <Button
            android:id="@+id/button_positive"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:maxLines="2"
            android:minLines="2"
            android:text="Button"/>
        <Button
            android:id="@+id/button_negative"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:maxLines="2"
            android:minLines="2"
            android:text="Button"/>
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)