2013-03-06 2 views
1

Я использую пользовательский макет на моем ABS ActionBar, какActionBarSherlock Пользовательского ActionBar Layout - домашняя икону исчезла

View abview = getLayoutInflater().inflate(R.layout.custombar, null); 
    getSupportActionBar().setCustomView(abview); 

Теперь нет дома кнопки /, я уже пробовал:

getSupportActionBar().setHomeButtonEnabled(true); 

При использовании пользовательского представления на моем ActionBar, мне нужно самостоятельно позаботиться о кнопке «вверх»?

ответ

1

Вы можете добавить настраиваемое представление действий в панели действий, например:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    if (DEBUG_MODE) { 
     Log.d(TAG, "onCreateOptionsMenu()"); 
    } 
    getSupportMenuInflater().inflate(R.menu.menu_generic, menu); 

    // Progress 
    final MenuItem progress = menu.findItem(R.id.menu_progress); 
    progress.setActionView(R.layout.action_view_progress); 

    mProgressText = (TextView) progress.getActionView().findViewById(R.id.total_achievement_text); 

    return super.onCreateOptionsMenu(menu); 
} 

menu_genric.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/menu_progress" 
    android:showAsAction="always"/> 
</menu> 

После, вы можете увеличить число со ссылкой на mProgressText

2

Если вы используете пользовательский вид в ActionBar (ActionBarsherlock), вы должны управлять собой все actionBar. Так что лучше оставить ActionBar и установить xml в фоновом режиме и/или настроить customview в определенном элементе. Что вы хотите сделать в своем настраиваемом панели действий?

+1

То, что я хочу сделать это: значок Корзина с обновляемым TextView в это, например: http://stackoverflow.com/questions/15227379/icon-with-text-inside-how-to-define-in-layout. Вы имеете в виду, что я могу настроить пользовательский вид только на этом конкретном значке? – FWeigl

5

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

ActionBar actionBar = getSupportActionBar(); 
// 1) Inflate your menu, if you have also need actions 
getSupportMenuInflater().inflate(R.menu.normal_action_menu, menu); 
// 2) Set your display to custom next 
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
// 3) Do any other config to the action bar 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowTitleEnabled(false); 
// 4) Now set your custom view 
actionBar.setCustomView(R.layout.custom_view); 
+0

Спасибо за обмен! – Mus

+0

невероятно, но работает, я ставлю actionBar.setCustomView (R.layout.custom_view); на конце и решил исчезнуть кнопки дома – Renetik