覆盖另一个活动的活动或覆盖另一个视图

我有2个类,FirstActivity和SecondActivity。

第一个活动

Intent intent=new Intent(getApplicationContext(),SecondActivity.class); startActivity(intent); 

SecondActivity是否可能覆盖FirstActivity? 即。 FirstActivity变暗,SecondActivity显示在FirstActivity的顶部。

如果不能进行2个不同的活动,是否可以在同一个活动中进行2个视图的覆盖? 我希望使用对话不是唯一的select。

Solutions Collecting From Web of "覆盖另一个活动的活动或覆盖另一个视图"

我build议你把第二个活动设置为对话框 – 这会使背景变暗。 这里有一个可能有用的教程:

http://developer.android.com/guide/topics/ui/dialogs.html

http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application

或者您可以简单地将清单中的主题设置为SecondActivity的对话框。

如果您不想进行对话,则可以使用相对布局覆盖视图。

 <?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" > <LinearLayout android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="some content" android:textSize="70dp"/> </LinearLayout> <LinearLayout android:id="@+id/overlay" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#99000000" android:clickable="true" android:visibility="gone"> <EditText android:id="@+id/edittext" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="50dp" /> </LinearLayout> </RelativeLayout> 

第一个LinearLayout(id / content)是你的普通内容的基本布局。

第二个LinearLayout(id / overlay)是你想要在基础布局顶部显示的覆盖布局。 背景颜色会给你淡出的背景,你可以添加任何你想要的布局,使您的覆盖。 要显示覆盖,只需将其可见性从gone变为visible

在清单文件中声明这样的第二个活动。 android:theme =“@ android:style / Theme.Dialog”。然后简单地从代码中调用第一个活动的第二个活动。

  <activity android:name=".FirstActivity" android:label="@string/title_activity_first" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:label="@string/title_activity_second" android:theme="@android:style/Theme.Dialog" > <intent-filter> <action android:name="transparent.text.SECONDACTIVITY"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

第二个活动XML文件。你可以devise为您的愿望,但为我参考我已经张贴this.the关键概念是在manifest文件(即)如何定义您的第二个活动在清单

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="192dp" android:background="#aabbcc" android:text="Sybrant has provided Takoma with a great team which helped us from the beginning to the final stage of our product, to our fullest satisfaction. We have been able to deliver a high quality of eLearning products to our corporate customers like Nissan with Sybrant's support”" tools:context=".FirstActivity" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView1" android:layout_alignParentLeft="true" android:layout_marginBottom="43dp" android:layout_marginLeft="80dp" android:text="Button" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/button1" android:layout_below="@+id/textView1" android:layout_marginRight="42dp" android:layout_marginTop="80dp" android:text="TextView" /> </RelativeLayout> 

1 – 截取第一个活动的截图。

2-(可选)变暗,色调或模糊屏幕截图。

3 – 然后调用第二个活动,并使用第一个活动的屏幕截图作为第二个活动的背景。