it-swarm.com.ru

Android-тема без заголовка

В своем приложении я хочу использовать Theme.NoTitleBar, но, с другой стороны, я также не хочу терять внутреннюю тему ОС Android. Я искал в сети и нашел следующий ответ. Я изменил свой styles.xml и добавил следующую строку кода ..

Внутренние значения/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>

Внутри 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>

В теге application файла Manifest я добавил атрибут:

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

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

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

или же

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

или же

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

Изображения в приложении приходят в правильном виде ... Но в этом случае я теряю все темы на новой ОС Android .. 

Пожалуйста, помогите мне, как я могу использовать тему NoTitleBar, не теряя изображения и родную тему ..

Код для макета:

<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

если вы хотите, чтобы оригинальный стиль вашего пользовательского интерфейса оставался, а строка заголовка удалялась без какого-либо влияния на это, вы должны удалить строку заголовка в своей деятельности, а не манифест. оставьте оригинальный стиль темы, который был у вас в манифесте и в каждом действии, для которого вы не хотите, чтобы строка заголовка использовала this.requestWindowFeature(Window.FEATURE_NO_TITLE); в методе oncreate() перед setcontentview(), например так:

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

Чтобы скрыть панель действий, добавьте приведенный ниже код в Значения/Стили

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

Затем в вашем файле AndroidManifest.xml добавьте приведенный ниже код в требуемое действие 

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

В вашем манифесте используйте: -

    Android:theme="@style/AppTheme" >

в styles.xml: -

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

Удивительно, но это работает как ваше желание, Использование того же родителя AppBaseTheme в AppTheme не.

7
Prateek Batla

Почему вы меняете встроенный Android OS тема .

Согласно вашей деятельности Требуется, чтобы Вы реализовали этот способ

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

согласно @arianoo говорит, что вы должны использовать эту функцию.

Я думаю, что это лучший способ скрыть тему заголовка.

3
Harshid

В вашем файле styles.xml измените стиль "AppTheme", например

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

используйте Android:theme="@Android:style/Theme.NoTitleBar в теге приложения файла манифеста, чтобы удалить строку заголовка для всего приложения, или поместите его в тег активности, чтобы удалить строку заголовка с одного экрана активности. 

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