Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在Android Studio(Java)中创建弹出窗口/覆盖_Java_Android_Android Studio_Android Layout_Android Activity - Fatal编程技术网

尝试在Android Studio(Java)中创建弹出窗口/覆盖

尝试在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

我正在尝试在Android Studio中创建一个带有2个活动的弹出窗口/覆盖。当按下某个按钮(下面第一张图片中的绿色加号按钮)时,它将使用不同的布局(.xml)文件以较小的大小启动第二个活动。当第二个活动在AndroidManifest.xml中声明时,它使用我创建的自定义主题使第一个活动显示在它下面,但是,它不能正常工作

以下是两个活动的图片:

第一项活动-

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”