-1

我不想从当前活动开始新活动,而是想在另一个活动上显示新活动,以便活动应该可见并且新活动将显示在旧活动上(不占据屏幕的所有区域)。

4

2 回答 2

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>

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

于 2012-07-06T09:05:24.903 回答
5

您想将活动设置为另一个说您想设置activity2activity1方式不是进行这种布局的一种方法是在清单文件中您可以像这样定义活动

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

所以这里的代码android:theme="@android:style/Theme.Dialog"会让你的活动2作为一个对话框来活动1。

而且我建议你将Activity 2布局的背景图片设为透明,这样你就可以实现你的目标

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

于 2012-07-06T09:17:57.387 回答