web-dev-qa-db-fra.com

No Title Bar Thème Android

Dans mon application, je souhaite utiliser la Theme.NoTitleBar, mais je ne veux pas non plus perdre le thème interne de l'OS Android .. J'ai cherché sur le net et j'ai trouvé la réponse suivante .. J'ai modifié mon styles.xml et ajouté la ligne de code suivante.

Inside values ​​/ 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>

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

Inside values-v14/styles.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>

Dans la balise application du fichier Manifest, j'ai ajouté un attribut de:

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

Mais lorsque j'essaie d'exécuter le code, les images de mon application deviennent floues. Mais lorsque j'utilise le tag suivant:

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

ou

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

ou

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

Les images de l'application se présentent sous la forme correcte ... Mais dans ce cas, je perds tous les thèmes du nouveau système d'exploitation Android. 

S'il vous plaît, aidez-moi, comment puis-je utiliser le thème NoTitleBar sans perdre les images et le thème natif?.

Code pour la mise en page:

<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

15
Abhishek Dhiman

si vous souhaitez conserver le style d'origine de votre interface utilisateur et supprimer la barre de titre sans aucun effet, vous devez supprimer la barre de titre de votre activité plutôt que le manifeste. laissez le style de thème d'origine que vous aviez dans le manifeste et dans chaque activité pour laquelle vous ne voulez pas de barre de titre, utilisez this.requestWindowFeature(Window.FEATURE_NO_TITLE); dans la méthode oncreate() before setcontentview() comme ceci:

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

Pour masquer la barre d’action, ajoutez le code ci-dessous dans Valeurs/Styles.

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

Ensuite, dans votre fichier AndroidManifest.xml, ajoutez le code ci-dessous dans l'activité requise. 

<activity
        Android:name="com.newbelievers.Android.NBMenu"
        Android:label="@string/title_activity_nbmenu"
        Android:theme="@style/CustomActivityThemeNoActionBar">
</activity>
22
Bahaa Hany

Dans votre utilisation manifeste: -

    Android:theme="@style/AppTheme" >

dans styles.xml: -

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

De manière surprenante, cela fonctionne comme vous le souhaitez, mais le même parent de AppBaseTheme dans AppTheme ne fonctionne pas.

7
Prateek Batla

Pourquoi changez-vous Android os intégré thème .

Selon votre activité Exige Vous devez implémenter de cette façon

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

selon @arianoo indique que vous devez utiliser cette fonctionnalité.

Je pense que c'est un meilleur moyen de masquer le thème de la barre de titre.

3
Harshid

Dans votre styles.xml, modifiez le style "AppTheme" comme

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

utilisez Android:theme="@Android:style/Theme.NoTitleBar dans la balise d'application du fichier de manifeste pour supprimer la barre de titre de l'application entière ou insérez-la dans la balise d'activité pour supprimer la barre de titre d'un seul écran d'activité. 

1
W00di
 this.requestWindowFeature(getWindow().FEATURE_NO_TITLE);
0
PhuocLuong