2016-05-27 2 views
2

Я использую AppTheme.NoActionBar. Я пытаюсь удалить строку заголовка из приложения.Невозможно удалить Панель заголовка из приложения

Вот что я уже пробовал.

Пробовал настройки 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 и выше

Update Вот несколько вещей, я попытался http://chat.stackoverflow.com/rooms/113175/discussion-between-arthur-leao-and-akash-kumar предложенный @ArhturLeao

Update 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> 
+0

Вы создали пользовательскую строку заголовка (пользовательский интерфейс)? – Masum

+0

@Masum Я еще не создал свой пользовательский Ui. Мое приложение использовало тему приложения по умолчанию до сих пор. Но теперь мне нужен пользовательский интерфейс. Я все еще новичок в разработке приложений для Android. Просто пытаюсь поддразнивать вещи. –

+0

Вы пробовали http://stackoverflow.com/a/25365193/3702862? – Rajesh

ответ

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

И он должен работать должным образом.

+0

Thanx это сработало. Почему у меня есть два xml-макета с именем activity и content. Я выполняю всю работу по компоновке контента. –

+0

Причина в 'activity_main.xml' у вас есть' AppBarLayout' + 'include' и что' include' в точности включает ваш 'content_main'. Так было сделано, чтобы разделить контент и панель приложений :) – rom4ek

0

Попробуйте это:

Добавить

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

К вашему методу OnCreate, после super.onCreate и до setContentView

+0

Ошибка приложения с помощью 'java.lang.IllegalStateException: вам нужно использовать тему Theme.AppCompat (или потомок) с этим действием.' –

+0

One вопрос: когда вы добавили this.requestWindowFeature (Window.FEATURE_NO_TITLE); Где вы его вставляли? –

+0

И попробуйте добавить андроид: theme = "@ style/AppTheme" к вашему манифесту android, ниже

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

Я только что создал новый проект, используя «Blank Activity» шаблон и добавил две строки в стиле - все остальное использует конфигурацию по умолчанию.

+0

Не работает ... Строка заголовка все еще отображается. Этот пример отлично работает с новым проектом, созданным мной. Но я не работаю с текущим проектом, над которым я работаю. Не знаю причины. –

+0

@AkashKumar, можете ли вы опубликовать свой стиль и активность (или, по крайней мере, метод onCreate)? Я попытаюсь понять, что происходит не так. –

+0

Обновить вопрос –

0

Этот код работает для меня и оленьей кожи есть App Bar

я заменил его на панели инструментов.

Узнайте, чего не хватает.

Я думаю, что вы не применяете свой AppTheme.NoActionBar к своей 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> 
+0

Пока не работает TitleBar. Если я использую этот код с новым проектом, он работает нормально. Но мой текущий проект не работает. Это репо проекта, с которым я сталкиваюсь с https://github.com/skywebdeveloper/Tikona-Session-Manager/tree/design –

+0

Можете ли вы попробовать File-> Invalidate Caches/Restart Option -> Invalidate and Restart и затем проверьте свое приложение. –

Смежные вопросы