Пользовательский заголовок с изображением

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

Я могу настроить размер, фоновое изображение и текст через темы путем изменения windowXYZStyle объектов.

Единственная вещь, которую я не мог найти - как я могу добавить изображение вместо текста. Я попробовал requestWindowFeature(Window.FEATURE_CUSTOM_TITLE) и присвойте пользовательский макет - но он не делает, кажется, работает.

РЕДАКТИРОВАНИЕ: Вот сообщение о тестировании предложений, код ниже - результат - представление изображения не обнаруживается.

Действие

public class SettingsActivity extends PreferenceActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);

    }
}

XML :

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/title"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:paddingLeft="5dip"
    android:background="@drawable/titlebar_bg"
    android:layout_gravity="left|center"
>
    <ImageView
        android:id="@+id/logo"
        android:src="@drawable/title_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
27
задан Alex Volovoy 20 January 2010 в 15:07
поделиться

3 ответа

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

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.my_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_title);

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

<resources>
    <style name="LargeTitleTheme">
        <item name="android:windowTitleSize">40dip</item>
    </style>
</resources>

, то вам нужно будет установить тему для вашей деятельности (или приложения, если вы хотите, чтобы все приложение было иметь эту пользовательскую строку заголовка) в AndroidManifest.xml:

<activity android:name=".MyCustomTitleActivity" android:theme="@style/LargeTitleTheme" />
35
ответ дан 28 November 2019 в 05:19
поделиться
-

Вы всегда можете использовать:

requestWindowFeature(Window.FEATURE_NO_TITLE);

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

7
ответ дан 28 November 2019 в 05:19
поделиться

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

1
ответ дан 28 November 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: