Android 为短信链接创建对话框链接弹出窗口 我正在修改一个测试消息应用程序,我想添加的一个特性是,当接收到文本消息时,某种类型的对话框会弹出文本消息的内容,并且能够快速地回复它,而不必进入实际应用程序。以HandcentSMS为例,下面是我要说的:

Android 为短信链接创建对话框链接弹出窗口 我正在修改一个测试消息应用程序,我想添加的一个特性是,当接收到文本消息时,某种类型的对话框会弹出文本消息的内容,并且能够快速地回复它,而不必进入实际应用程序。以HandcentSMS为例,下面是我要说的:,android,dialog,sms,Android,Dialog,Sms,你知道怎么做吗,或者有人能给我指出一个好的开始方向吗?你可以做一个活动,并用自定义样式来设置它的样式,它应该继承Theme.Dialog 示例样式: <style name="Theme.MyDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@android:drawable/alert_light_frame</item>


你知道怎么做吗,或者有人能给我指出一个好的开始方向吗?

你可以做一个活动,并用自定义样式来设置它的样式,它应该继承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>

@android:可拖动/警示灯框架
@android:彩色/黑色
@android:彩色/黑色
从不
符合事实的
最重要的是正确地准备活动的xml布局。 我建议垂直包装所有内容,水平填充所有内容

布局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>

您可以创建一个活动,并使用自定义样式对其进行样式设置,该样式应继承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>

@android:可拖动/警示灯框架
@android:彩色/黑色
@android:彩色/黑色
从不
符合事实的
最重要的是正确地准备活动的xml布局。 我建议垂直包装所有内容,水平填充所有内容

布局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>

要创建此UI,只需创建一个背景透明的活动,如下所示:

步骤1:添加res\values\style.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Smspopuptheme" parent="android:style/Theme.Translucent">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:background">@android:color/transparent</item>
</style>  
</resources>
步骤3:在SMSPoppupTestActivity.java中,在
setContentView
之前设置
FEATURE\u NO\u TITLE
为:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    //Remove notification bar
    //this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.main);
步骤4:您的活动布局看起来像
res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#55000000"
    android:gravity="center"
    android:orientation="horizontal" >
    <LinearLayout
        android:id="@+id/frg_alert_buttons"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="@android:color/darker_gray"
        android:gravity="center"
        android:padding="5dp"
        android:layout_centerInParent="true"
        android:weightSum="3">
    </LinearLayout>
</LinearLayout>

根据需要在frg_alert_按钮中添加布局元素,如按钮、文本视图、图像视图和编辑视图

收到新短信时启动smspoppuptestactivity.java活动

一些有用的资源:

ANDROID中SMSPOPUP的一些源代码:


要创建此UI,只需创建一个背景透明的活动,如下所示:

步骤1:添加res\values\style.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Smspopuptheme" parent="android:style/Theme.Translucent">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:background">@android:color/transparent</item>
</style>  
</resources>
步骤3:在SMSPoppupTestActivity.java中,在
setContentView
之前设置
FEATURE\u NO\u TITLE
为:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    //Remove notification bar
    //this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.main);
步骤4:您的活动布局看起来像
res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#55000000"
    android:gravity="center"
    android:orientation="horizontal" >
    <LinearLayout
        android:id="@+id/frg_alert_buttons"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="@android:color/darker_gray"
        android:gravity="center"
        android:padding="5dp"
        android:layout_centerInParent="true"
        android:weightSum="3">
    </LinearLayout>
</LinearLayout>

根据需要在frg_alert_按钮中添加布局元素,如按钮、文本视图、图像视图和编辑视图

收到新短信时启动smspoppuptestactivity.java活动

一些有用的资源:

ANDROID中SMSPOPUP的一些源代码:


smspopup
做了一些类似的事情,它是开源的:code.google.com/p/android-smspopup/
smspopup
做了一些类似的事情,它是开源的:code.google.com/p/android-smspopup/正是我想要的,将它添加为一个启动程序活动也是一个不错的选择。谢谢正是我所寻找的,将其添加为一个启动器活动也是一个不错的选择。谢谢