如何将一项活动放在另一项活动上?

时间:2012-07-06 08:59:40

标签: android

我没有从当前活动开始新活动,而是希望将新活动显示在另一个活动上,以便活动都可见,新活动将显示在旧活动上(不占用屏幕的所有区域) )。

2 个答案:

答案 0 :(得分:7)

在style.xml中使用

<style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>

    </style>

在清单文件中使用

<activity
            android:name=".YourActivityName"

            android:theme="@style/Theme.Transparent"
             />

现在制作一个小于全屏的布局..

您在评论中提出的问题

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   >

    <ImageView
        android:id="@+id/StatusImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/icon"
        android:visibility="visible" />



</RelativeLayout>

图像将在上层活动中看到...就像一个对话框,你可以做任何你想要的布局,就像这样。

答案 1 :(得分:5)

您希望将活动设置为另一个说您要将activity2设置为超过activity1,而不是使这种布局的一种方式是在清单文件中您可以定义此类活动

<activity android:name=".Activity2" android:theme="@android:style/Theme.Dialog"></activity>

因此,代码android:theme="@android:style/Theme.Dialog"会让您的活动2作为对话框进入activity1。

我建议您将活动2布局的背景图像设为透明,以便实现目标

我不确定这会100%解决您的问题,但我认为这是您实现目标的方式。