2013-02-04 23 views
15

Nella mia applicazione voglio usare Theme.NoTitleBar, ma d'altra parte non voglio perdere il tema interno del sistema operativo Android .. Ho cercato sulla rete e ho trovato il seguente risposta .. ho modificato il mio styles.xml e ha aggiunto la seguente riga di codice ..No Title Bar Tema Android

valori interni/styles.xml

<style name="Theme.Default" parent="@android:style/Theme"></style> 
<style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style> 
<style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style> 

All'interno valori-V11/styles.xml

<style name="Theme.Default" parent="@android:style/Theme.Holo"></style> 
<style name="Theme.NoTitle" parent="@android:style/Theme.Holo.NoActionBar"></style> 
<style name="Theme.FullScreen" parent="@android:style/Theme.Holo.NoActionBar.Fullscreen"></style> 

Valori interni-v14/styl es.xml

<style name="Theme.Default" parent="@android:style/Theme.Holo.Light"></style> 
<style name="Theme.NoTitle" parent="@android:style/Theme.Holo.Light.NoActionBar"></style> 
<style name="Theme.FullScreen" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"></style> 

Nel applicazione tag del file manifesto ho aggiunto un attributo di:

android:theme="@style/Theme.NoTitle" 

Ma quando provo a eseguire il codice Le immagini nella mia applicazione diventa sfocata. . Ma quando io uso il seguente tag:

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

o

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

o

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

Le immagini nella domanda si presenta in forma corretta ... ma in questo caso io perdono tutti i temi sul nuovo sistema operativo Android ..

Please help me come può io uso NoTitleBar tema senza perdere le immagini e il nativo Tema ..

codice per il layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/mainScreen" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 

<include 
    android:id="@+id/main_top_bar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    layout="@layout/top_bar_title" /> 

<RelativeLayout 
    android:id="@+id/container_bar1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/main_top_bar" 
    android:layout_marginTop="-3dp" 
    android:background="@drawable/tab_nav_bar" > 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/container_bar2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/container_bar1" 
    android:background="@drawable/location_nav_bar" > 

    <TableLayout 
     android:id="@+id/map_bar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:paddingBottom="5dp" 
     android:background="@drawable/map_bar_bg" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <Button 
       android:id="@+id/MapPointer" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="8dp" 
       android:background="@drawable/map_pointer" /> 

      <TextView 
       android:id="@+id/MapSeperator" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="2dp" 
       android:layout_marginTop="2dp" 
       android:text="|" 
       android:textColor="#979ca0" 
       android:textSize="20dp" /> 

      <com.pnf.myevent.CustomTextView 
       android:id="@+id/DisplayLocation" 
       android:layout_width="80dp" 
       android:layout_height="wrap_content" 
       android:ellipsize="marquee" 
       android:fadingEdge="horizontal" 
       android:marqueeRepeatLimit="marquee_forever" 
       android:paddingLeft="5dp" 
       android:scrollHorizontally="true" 
       android:singleLine="true" 
       android:textColor="#adabad" 
       android:textSize="12dp" /> 

      <Button 
       android:id="@+id/RefreshBtn" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="3dp" 
       android:background="@drawable/refresh_button" /> 
     </TableRow> 
    </TableLayout> 

    <TableLayout 
     android:id="@+id/calendar_bar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="10dp" > 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <Button 
       android:id="@+id/MonthBtn" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/month_button" /> 

      <Button 
       android:id="@+id/TodayBtn" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/today_button" /> 

      <Button 
       android:id="@+id/WeekBtn" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/week_button" /> 
     </TableRow> 
    </TableLayout> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/container_bar3" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/container_bar2" 
    android:background="@drawable/cal_nav_bar" > 

    <Button 
     android:id="@+id/CalPrevious" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="30dp" 
     android:layout_marginTop="5dp" 
     android:background="@drawable/left_arrow_button" /> 

    <com.pnf.myevent.CustomTextView 
     android:id="@+id/CalTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="5dp" 
     android:shadowColor="#ffffff" 
     android:shadowDx="0" 
     android:shadowDy="2" 
     android:shadowRadius="1" 
     android:text="Title" 
     android:textColor="#666666" 
     android:textSize="15dp" /> 

    <Button 
     android:id="@+id/CalNext" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="30dp" 
     android:layout_marginTop="5dp" 
     android:background="@drawable/right_arrow_button" /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/container_bar4" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_below="@+id/container_bar3" 
    android:background="#c8c9cc" > 

    <GridView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/gridView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:horizontalSpacing="2dp" 
     android:listSelector="#00000000" 
     android:numColumns="7" 
     android:stretchMode="columnWidth" 
     android:verticalSpacing="2dp" /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/footer_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/container_bar4" > 

    <ListView 
     android:id="@+id/CalendarList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:listSelector="#00000000" 
     android:cacheColorHint="#00000000" 
     android:divider="#dedede" 
     android:dividerHeight="1dp" 
     android:drawSelectorOnTop="false" /> 
</RelativeLayout> 

Images Getting Blurry

+0

Non perde il tema Android impostando senza barra del titolo. Stai facendo qualcosa di sbagliato nel tuo layout XML. Si prega di postare il layout in modo che possiamo esaminarlo. Questo sta accadendo anche per tutte le versioni della piattaforma Android? O solo uno specifico –

+0

Sta succedendo su tutte le piattaforme. Ho creato cartelle di layout nella cartella rossa come layout-ldpi, layout-mdpi, layout-hdpi e layout-xhdpi e ho anche le cartelle disegnabili contenenti immagini diverse per schermi diversi. Lo screenshot è preso dalla galassia s3 ma lo stesso sta salendo sull'emulatore –

+0

Puoi pubblicare uno dei layout allora? Non hai bisogno di layout diversi basati su dpi, a meno che tu non abbia qualche scenario caso speciale. –

risposta

29

se si desidera che lo stile originale del vostro Ui di rimanere e la barra del titolo da rimuovere senza alcun effetto su questo, è necessario rimuovere la barra del titolo nella vostra attività, piuttosto che il manifesto. lasciare lo stile originale tema che si aveva nel manifesto ed in ogni attività che si desidera utilizzare alcuna barra del titolo this.requestWindowFeature(Window.FEATURE_NO_TITLE); nella oncreate() metodo primasetcontentview() come questo:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_signup); 
    ... 
} 
+7

funziona, ma questa non è la soluzione migliore, la barra del titolo lampeggia per alcuni secondi prima di scomparire – abovesun

+0

thnks ha risvegliato per me..valore –

+0

Ho usato esattamente le stesse linee in questo ordine esatto e tuttavia ho ottenuto l'escpetion: 'android.util.AndroidRuntimeException: requestFeature() deve essere chiamato prima di aggiungere contenuto' - qualcuno sa perché? – GyRo

3

Perché stai cambiando sistema operativo Android integrato tema.

Come per la vostra attività Richiede Devi implementa questo modo

this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

secondo @arianoo dice che bisogna utilizzare questa funzione.

Penso che questo sia il modo migliore per nascondere il tema della barra del titolo.

0
this.requestWindowFeature(getWindow().FEATURE_NO_TITLE); 
+0

Sarebbe" più corretto "come questo:' requestWindowFeature (android.view.Window.FEATURE_NO_TITLE); ' – Reinherd

20

per nascondere la barra delle azioni aggiungere il codice qui sotto in Valori/Stili

<style name="CustomActivityThemeNoActionBar" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:windowNoTitle">true</item> 
</style> 

Poi nel file AndroidManifest.xml aggiungere il codice qui sotto nella attività richiesta

<activity 
     android:name="com.newbelievers.android.NBMenu" 
     android:label="@string/title_activity_nbmenu" 
     android:theme="@style/CustomActivityThemeNoActionBar"> 
</activity> 
+4

"android: windowActionBar" richiede API +11 Quindi dato che il mio compatibilità è +8, "android: windowNoTitle" ha fatto il trucco Grazie;) –

7

Nel tuo uso manifesto: -

android:theme="@style/AppTheme" > 

in styles.xml: -

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
     <item name="android:windowActionBar">false</item> 
    <item name="android:windowNoTitle">true</item> 
</style> 

Sorprendentemente questo funziona come yo desiderio, usando la stessa madre di AppBaseTheme in AppTheme non.

+0

grazie molto che mi ha salvato –

+0

Sorpresa sorpresa, nulla in questa pagina ha funzionato per me. Sospetto che dovrò interrompere l'estensione di "ActionBarActivity" a favore di Vanilla "Activity". Anche i kludges brutali come 'requestWindowFeature (Window.FEATURE_NO_TITLE); semplicemente FC. – John

1

utilizzare android:theme="@android:style/Theme.NoTitleBar nel tag dell'applicazione manifest per rimuovere la barra del titolo per l'intera applicazione o inserirla nel tag di attività per rimuovere la barra del titolo da una singola schermata di attività.

1

Nella tua styles.xml, modificare lo stile "AppTheme" come

<!-- Application theme. --> 
    <style name="AppTheme" parent="AppBaseTheme"> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowNoTitle">true</item> 
    </style>