我没有从当前活动开始新活动,而是希望将新活动显示在另一个活动上,以便活动都可见,新活动将显示在旧活动上(不占用屏幕的所有区域) )。
答案 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%解决您的问题,但我认为这是您实现目标的方式。