Android, Как заменить каретку вверх / назад в панели действий?



Минимальная версия SDK, которую я поддерживаю, - 14. У меня есть панель действий в моем приложении, и все о его функциональности в порядке.



Моя единственная проблема-это каре вверх или назад, которое имеет серый цвет. Я хочу, чтобы он был белого цвета. Поэтому я разработал аналогичную каретку с белым цветом в разных размерах.
Итак, мой вопрос заключается в том, как заменить серый / стандартный каре на мой?



Так что же я сделал? Основываясь на том, что сказал Этот парень , я добавил:
<item name="android:homeAsUpIndicator">@drawable/ic_drawer_back</item>
в мою тему приложения, как это:



<style name="Theme.Example" parent="@android:style/Theme.Holo.Light">
...
<item name="android:actionBarStyle">@style/ActionBar.Solid.Example</item>
</style>

<style name="ActionBar.Solid.Example" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
...
<item name="android:homeAsUpIndicator">@drawable/ic_drawer_back</item>
</style>


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



Сталкивались ли вы с этой проблемой раньше? любое предложение будет оценено. СПАСИБО



        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, //nav menu toggle icon
R.string.app_name, // nav drawer open - description for accessibility
R.string.app_name // nav drawer close - description for accessibility
){
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
// calling onPrepareOptionsMenu() to show action bar icons
invalidateOptionsMenu();

// display view for selected nav drawer item
displayView(selectedDrawerItem);
}

public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
// calling onPrepareOptionsMenu() to hide action bar icons
invalidateOptionsMenu();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if nav drawer is opened, hide the action items
// boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
// menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Pass any configuration change to the drawer toggles
mDrawerToggle.onConfigurationChanged(newConfig);
}
559   1  

1 ответ:

К счастью, я нашел, где была моя проблема. Я по ошибке поставил

<item name="android:homeAsUpIndicator">@drawable/ic_drawer_back</item>

В ActionBar.Solid.Example вместо Theme.Example. Так что теперь все работает нормально.

Comments

    Ничего не найдено.