J'ai besoin de centrer un logo personnalisé (à l'aide d'une ImageView) dans la barre d'action de l'activité "Accueil". J'utilise ABS pour ce projet. Cette question est très similaire à une autre question postée sur S.O. ( Logo ActionBar centré et éléments d'action sur les côtés ), mais je ne suis pas sûr que l'ImageView ou le menu de recherche fasse une différence, car je n'obtiens pas les résultats que je recherche (une image centrée), ou si je me suis simplement trompé. En fait, je place une icône sur la gauche, j'insère la vue personnalisée au centre et j'ai une icône de recherche sur la droite (menu Options). L'image apparaît un peu à droite de l'icône, mais elle n'est toujours pas centrée. Toute indication sur la façon de centrer une ImageView dans la barre d'action serait très appréciée.
Home.java :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
LayoutInflater inflater = (LayoutInflater) getSupportActionBar().getThemedContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
final View customActionBarView = inflater.inflate(
R.layout.actionbar_custom_view_home, null);
/* Show the custom action bar view and hide the normal Home icon and title */
final ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setIcon(R.drawable.ic_ab_som);
actionBar.setCustomView(customActionBarView);
actionBar.setDisplayShowCustomEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.search, menu);
return true;
}
res/layout/actionbar_custom_view_home.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<ImageView
android:id="@+id/actionBarLogo"
android:contentDescription="@string/application_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:duplicateParentState="false"
android:focusable="false"
android:longClickable="false"
android:padding="@dimen/padding_small"
android:src="@drawable/logo_horizontal" />
</LinearLayout>
res/menu/search.xml :
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@id/search_item"
android:icon="?attr/action_search"
android:title="@string/search_label"
android:showAsAction="ifRoom|collapseActionView">
</item>
</menu>
0 votes
Jetez un coup d'œil à ma question ici : stackoverflow.com/questions/23783381/