Android: панель действий для телефонов - PullRequest
1 голос
/ 30 мая 2011

Я пытался извлечь панель действий из приложения Google I / O 2011 , но я не могу понять, как они устанавливают заголовок и кнопки на панели.По сути, я не мог понять, как <declare-stylable> работал.

Так что в attr.xml они объявили это

  <declare-styleable name="AppTheme">
    <attr name="actionbarButtonStyle" format="reference" />
    <attr name="actionbarProgressIndicatorStyle" format="reference" />
    <attr name="actionbarSeparatorStyle" format="reference" />
    <attr name="actionbarLogoStyle" format="reference" />
    <attr name="actionbarTextStyle" format="reference" />
    <attr name="textHeaderMaxLines" format="integer" />
    <attr name="trackAbstractMaxLines" format="integer" />
</declare-styleable>

In styles.xml,

 <style name="ActionBarLogo">
    <item name="android:id">@id/actionbar_logo</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:clickable">false</item>
    <item name="android:scaleType">center</item>
    <item name="android:contentDescription">Logo</item>
    <item name="android:src">@drawable/actionbar_logo</item>
</style>

И я полагаю, мне следует использовать этот код для добавления логотипа на панель,

ImageButton logo = new ImageButton(mActivity, null, R.attr.actionbarLogoStyle);
logo.setOnClickListener(homeClickListener);
actionBarCompat.addView(logo);

Но ничего не происходит.Я знаю, что что-то упустил во время копирования / вставки: D, но я не могу понять, что! ..

Кроме того, что такое использование declare-stylable и что делает format=reference?

1 Ответ

0 голосов
/ 30 мая 2011

Во-первых, вы можете захотеть использовать что-то, что уже является компонентом многократного использования .

что такое использование объявляемого стиля

Это используется пользовательскими представлениями для объявления пользовательских атрибутов, которые вы можете предоставить в своих макетах.

что делает формат = ссылка

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

...