在activity A中點擊一個設置按鈕彈出ActivityB,在B頁面進行完相應的操作之後,又回到A頁面,B頁面是辦透明顯示在A頁面上面的
下面是代碼
Activity A相關代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center"
android:background="@color/colorPrimary"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center"
android:text="Activity A"
android:textSize="20pt" />
<Button
android:id="@+id/open_activity_b"
android:layout_width="match_parent"
android:layout_marginTop="25dp"
android:layout_height="wrap_content" android:textSize="14pt"
android:text="打開Activity B"/>
</LinearLayout>
package com.greatzee.modelprogress;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button open_activity_b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
open_activity_b=(Button) findViewById(R.id.open_activity_b);
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentSet = new Intent(MainActivity.this, SetActivity.class);
intentSet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MainActivity.this.startActivity(intentSet);
}
};
open_activity_b.setOnClickListener(onClickListener);
}
}
下面時Activity B相關代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MyModelSetting"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SetActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"></LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:background="@color/colorPrimary">
<Button
android:id="@+id/close_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="關閉當前頁面" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"></LinearLayout>
</LinearLayout>
package com.greatzee.modelprogress;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.Set;
public class SetActivity extends AppCompatActivity {
Button close_activity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionbar = getSupportActionBar();
if (actionbar != null) {
actionbar.hide();
}
setContentView(R.layout.activity_set);
close_activity=(Button) findViewById(R.id.close_activity);
close_activity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SetActivity.this.finish();
}
});
}
}
相關的樣式代碼
<style name="MyModelSetting" parent="Theme.AppCompat">
<!--背景色,此處的背景色請一定要設置爲透明度背景色-->
<item name="android:windowBackground">@color/transparent</item>
<!--window Is Translucent 窗口是半透明的-->
<item name="android:windowIsTranslucent">true</item>
<!--window No Title窗口無標題-->
<item name="android:windowNoTitle">true</item>
<!--彈出動畫-->
<item name="android:windowAnimationStyle">@null</item>
</style>
<color name="transparent">#80333333</color>
下面是AndroidManifest.xml
<activity android:name=".SetActivity" android:theme="@style/MyModelSetting" ></activity>