我的回答与上述非常相似,最接近于@Arash Sharif。这是对我有用的变体。
上下文:我的应用程序是一个网络应用程序,仅使用 HTML、CSS 和 JavaScript。我通过将其包装在 WebView 控件中,将其作为 Android 上的应用程序运行。该应用程序旨在全屏运行,我需要它在屏幕重新定向时调整大小。
我在 Android Studio 工作。我既不是 Android 也不是 Java 程序员,所以我的解释可能不是正确的术语,但我很确定它是有效的。
首先,您需要告诉 Android 您将处理屏幕事件。
AndoidManifest.xml
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden">
<activity android:name="com.babyclix.babyclix_test.MainActivity"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
现在Android会将屏幕事件传递给您处理,因此您需要覆盖处理屏幕事件的函数。
MainActivity.java
// For screen handling on changes (eg. reorientation, resizing)
import android.content.res.Configuration;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
// your stuff
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mywebview.setLayoutParams(new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
}
// more stuff