Android: пользовательская строка заголовка - PullRequest
10 голосов
/ 01 июля 2010

У меня есть пользовательская строка заголовка

 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
 setContentView(R.layout.activities);
 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

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

Добавление этого в манифест:

<application android:theme="@android:style/Theme.NoTitleBar">

приводит к силеблизко.Мой манифест выглядит следующим образом:

<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:theme="@style/My_Theme">

Где мне нужна my_Theme, поскольку она устанавливает цвет фона, а установка цвета фона в моей теме клиента приводит к серой области вокруг моего цветного фона.Поэтому даже без принудительного закрытия я не уверен, поможет ли название без названия.

Есть идеи?

Спасибо.

Ответы [ 4 ]

14 голосов
/ 01 июля 2010

У меня была такая же проблема, как и у вас.

Проблема связана с тем, что у вас есть в вашем стиле.

Попробуйте:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="My_Theme">
        <item name="android:windowTitleSize">35dp</item>
        <item name="android:windowTitleBackgroundStyle">@android:color/black</item>
    </style>
</resources>
2 голосов
/ 27 ноября 2013

Это единственный файл, который запрещает использование заголовка по умолчанию до того, как будет инициирован мой пользовательский заголовок:

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

    <style name="CustomWindowTitleStyle">
        <item name="android:textColor">@android:color/transparent</item>
    </style>

    <style name="CustomTheme" parent="@android:style/Theme.Holo">
        <item name="android:windowActionBar">false</item>
        <item name="android:windowTitleBackgroundStyle">@android:color/transparent</item>
        <item name="android:windowTitleSize">50dp</item>
        <item name="android:windowTitleStyle">@style/CustomWindowTitleStyle</item>
    </style>

</resources>
0 голосов
/ 12 марта 2015

Вы также должны проверить, поддерживается ли customTitle или нет.

Boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);



if (customTitleSupported) {
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title);

}
0 голосов
/ 18 сентября 2013

Ваше приложение дает сбой, потому что в вашем коде вы вызываете строку заголовка из оконных функций, а с другой стороны вы отключаете его через манифест. В принципе, вы не можете сделать это, это логически неверно. Вам нужно изменить строку заголовка, чтобы не удалять ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...