尝试在Android Studio(Java)中创建弹出窗口/覆盖
我正在尝试在Android Studio中创建一个带有2个活动的弹出窗口/覆盖。当按下某个按钮(下面第一张图片中的绿色加号按钮)时,它将使用不同的布局(.xml)文件以较小的大小启动第二个活动。当第二个活动在AndroidManifest.xml中声明时,它使用我创建的自定义主题使第一个活动显示在它下面,但是,它不能正常工作 以下是两个活动的图片: 第一项活动-尝试在Android Studio(Java)中创建弹出窗口/覆盖,java,android,android-studio,android-layout,android-activity,Java,Android,Android Studio,Android Layout,Android Activity,我正在尝试在Android Studio中创建一个带有2个活动的弹出窗口/覆盖。当按下某个按钮(下面第一张图片中的绿色加号按钮)时,它将使用不同的布局(.xml)文件以较小的大小启动第二个活动。当第二个活动在AndroidManifest.xml中声明时,它使用我创建的自定义主题使第一个活动显示在它下面,但是,它不能正常工作 以下是两个活动的图片: 第一项活动- public class MainActivity extends AppCompatActivity { @Overrid
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
Util.initScreenRes(this); // initializes screen resolution for later pop-up window sizing
}
public void ibAddOnClick(View view){
startActivity(new Intent(MainActivity.this, AddPopUpActivity.class));
}
}
public class AddPopUpActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_popup_activity);
getWindow().setLayout((int) (Util.screenRes.x * 0.8), (int) (Util.screenRes.y * 0.5));
}
}
第二项活动-
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
Util.initScreenRes(this); // initializes screen resolution for later pop-up window sizing
}
public void ibAddOnClick(View view){
startActivity(new Intent(MainActivity.this, AddPopUpActivity.class));
}
}
public class AddPopUpActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_popup_activity);
getWindow().setLayout((int) (Util.screenRes.x * 0.8), (int) (Util.screenRes.y * 0.5));
}
}
代码如下:
主要活动-
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
Util.initScreenRes(this); // initializes screen resolution for later pop-up window sizing
}
public void ibAddOnClick(View view){
startActivity(new Intent(MainActivity.this, AddPopUpActivity.class));
}
}
public class AddPopUpActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_popup_activity);
getWindow().setLayout((int) (Util.screenRes.x * 0.8), (int) (Util.screenRes.y * 0.5));
}
}
AddPopUpActivity-
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
Util.initScreenRes(this); // initializes screen resolution for later pop-up window sizing
}
public void ibAddOnClick(View view){
startActivity(new Intent(MainActivity.this, AddPopUpActivity.class));
}
}
public class AddPopUpActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_popup_activity);
getWindow().setLayout((int) (Util.screenRes.x * 0.8), (int) (Util.screenRes.y * 0.5));
}
}
利用率-
public class Util {
public static Point screenRes;
public static void initScreenRes(Activity a){
final DisplayMetrics dm = new DisplayMetrics();
a.getWindowManager().getDefaultDisplay().getMetrics(dm);
screenRes = new Point(dm.widthPixels, dm.heightPixels);
}
}
最后,这里是AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="App.ProgressTracker">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ProgressTracker">
<activity
android:name="App.FrontEnd.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.ProgressTracker.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="App.FrontEnd.AddPopUpActivity"
android:label="ProgressTracker"
android:theme="@style/Theme.ProgressTracker.PopUp">
</activity>
</application>
</manifest>
我非常感谢你在这方面的帮助。提前谢谢你 在AndroidManifest.xml中,将弹出式活动的主题设置为
android:theme=“@android:style/theme.Dialog”