我希望通过隐藏顶部栏来使WebView全屏显示。
经过研究,发现以下方法可以实现:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
但是,当我添加这个时我的应用程序无法启动。我做错了什么,你如何实现这个?
尝试,
getSupportActionBar().hide();
在你的onCreate()中
<activity android:name=".YourActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>
<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Open your java file.
you will find onCreate method (below where it is written @override) It looks like this
public class MainActivity extends AppCompactActivity { //#1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //#3
setContentView(R.layout.activity_main);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
AppCompactActivity
,将其更改为Activity
。它会显示一个错误,因为Activity类没有被导入。因此,在Activity之间放置光标并按alt + enter以导入类来导入Activity类。或者手动导入,只需在上面的导入中编写此行:import android.app.Activity;
确认后,您的新代码将如下所示:
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
}
不需要做太多的花哨操作,只需将它复制并粘贴到你的 MainActivity.java 文件下“COPY MARKED CODE”的位置即可。
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// START -- copy from here
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
// END -- copy till here
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
//webView.setWebViewClient(new webViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://app.noorcool.com/");
}
}
就是这样。享受编码吧。
<style name="Theme.AppName" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
之后:
<style name="Theme.AppName" parent="Theme.MaterialComponents.DayNight.NoActionBar">
就是这样!对我来说完美地工作了。
来源:https://www.codegrepper.com/code-examples/whatever/android+studio+webview+remove+title+bar
我相信你的活动扩展了CompatActivty,因此它应该有一个兼容主题。 如果我是对的,只需将您的活动更改为扩展Activity。
AndroidManifest.xml
文件中:<activity android:name=".YourActivityName"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
for hiding top bar..in Manifest..add this try
<application
android:theme="@style/Theme.AppCompat.Light.NoActionBar
for webview full screen
in XML
<WebView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/webView"/>
and in Mainactivity...do like this
public class MainActivity extends Activity{