无法从应用中删除标题栏

时间:2016-05-27 18:09:48

标签: android

我正在使用AppTheme.NoActionBar。我想从app中删除标题栏。

这是我已经尝试过的。

尝试过设置android:theme="@style/Theme.NoTitleBar",这给了我错误cannot resolve symbol

在设置requestWindowFeature(Window.FEATURE_NO_TITLE);之前尝试在onCreate方法中添加ContentView,它不会影响任何内容

以下是我已尝试过的帖子

How to hide the title bar for an Activity in XML with existing custom theme

Remove app title bar android

我想要做的是创建一个自定义用户界面并希望应用程序全屏(想要显示通知栏)。

我的应用程序也针对Api等级10及以上

更新 以下是@ArhturLeao

建议的http://chat.stackoverflow.com/rooms/113175/discussion-between-arthur-leao-and-akash-kumar尝试的更多内容

更新2

尝试@android:style/Theme.NoTitleBar新示例项目按预期工作(必须扩展Activity类而不是AppCompactActivity类)

尝试与我有问题的项目相同,它仍显示Blank TitleBar。

这是我遇到https://github.com/skywebdeveloper/Tikona-Session-Manager/tree/design

时遇到问题的项目

**更新3 **

onCreate方法

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        CookieHandler.setDefault(new CookieManager());

        popupLoader = new ProgressDialog(this);

        url = getSharedPreferences("url", MODE_PRIVATE);
        sessionPreference = getSharedPreferences("session", MODE_PRIVATE);

        sessionStart = (TextView) findViewById(R.id.sessionStartValue);
        sessionDuration = (TextView) findViewById(R.id.sessionDurationValue);
        sessionUsage = (TextView) findViewById(R.id.sessionUsageValue);


        logout = new AlertDialog.Builder(this);
        logout.setMessage("Are you sure you want logout?").setTitle("Confirm Logout");
        logout.setPositiveButton("Logout", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //Call logout uri
                logout();
            }
        });
        logout.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //Do nothing
            }
        });

        logout.create();

        //fetchSessionDetails();
        getURLs();

    }
  

style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

4 个答案:

答案 0 :(得分:4)

我已经探索过您的项目并发现了您的问题:通过样式您当然会删除ActionBar,但您忘记了自己有工具栏在您的activity_main.xml中,通过下一个代码将ActionBar设置为默认Activity

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

当然,您的ActionBar总会显示出来:)所以您只需要在想要全屏的活动中添加getSupportActionBar().hide();

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().hide();

它应该按预期工作。

答案 1 :(得分:1)

只需将这些添加到您的风格中:

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

这是一个完整的例子:

<强> styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

</resources>

<强> MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

我刚刚使用“空白活动”模板创建了一个新项目,并将两行添加到样式中 - 其他所有内容都使用默认配置。

答案 2 :(得分:0)

试试这个:

添加

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

在onCreate方法之后,在super.onCreate之后和setContentView之前

答案 3 :(得分:0)

这段代码对我有用,并没有App Bar

我用工具栏替换了它。

找出你缺少的东西。

我认为您没有将您的AppTheme.NoActionBar应用于Manifest中的MainActivity。

<强> MainActivity.java

 public class MainActivity extends AppCompatActivity {

 EditText editUsername,editPassword;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       toolbar.setTitle("Login");
       setSupportActionBar(toolbar);

       editUsername=(EditText)findViewById(R.id.username);
       editPassword=(EditText)findViewById(R.id.password);


     }
   }

<强> styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay"  
     parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

<强>的Manifest.xml

  <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.storelist" >

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  </application>

 </manifest>
相关问题