Android:WebView,如何全屏显示并隐藏标题

时间:2016-05-24 10:38:25

标签: android webview

我想通过隐藏顶部栏来使WebView全屏显示。

经过研究,这应该有效:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

但添加此功能会在启动时崩溃我的应用。我做错了什么,你是如何做到的?

8 个答案:

答案 0 :(得分:2)

尝试,

getSupportActionBar().hide();
onCreate()

中的

答案 1 :(得分:2)

请按以下步骤操作

  1. 打开您的java文件。

  2. 你会发现onCreate方法(下面写的是@override) 看起来像这样

    public class MainActivity extends AppCompactActivity {     //#1
        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);                //#3
        setContentView(R.layout.activity_main);
    
  3. 在行和上面的setContentview //#3下添加此行

           this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    
    1. 这是// <1行中的最后一步,您可以看到 AppCompactActivity 将其更改为 Activity 。它将显示错误,因为未导入活动类。因此,请在活动之间移动活动类,然后按 alt + enter 导入类。或者手动导入它只需在 import android.app.Activity;
    2. 上方的导入中写下此行

      要确认,您的新代码将如下所示

      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);
                }
      
      
         }
      

答案 2 :(得分:1)

您需要在清单文件

中应用以下样式

喜欢:

<activity android:name=".YourActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>

style.xml 中,添加以下样式

<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>

答案 3 :(得分:1)

不需要做太多的马戏。只需将其复制并粘贴到 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/");
}
}

就是这样。享受编码

答案 4 :(得分:0)

将此AndroidManifest.xml文件添加:

<activity android:name=".YourActivityName"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>

答案 5 :(得分:0)

我相信你的活动扩展了CompatActivity,因此它应该有一个compat主题。 如果我没错,只需更改您的活动以扩展活动。

答案 6 :(得分:0)

 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{

答案 7 :(得分:0)

这对我来说是一个非常简单的解决方案。

搜索任何有某种 ActionBar 的地方,

对我来说,我在 res/values/themes.xml 和 res/values-night/themes.xml 中有它。

在那里,将您拥有的任何 DarkActionBar 或 LightActionbar 更改为 NoActionBar。

例如之前:

<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