ActionBar setIcon居中

时间:2013-09-24 02:14:39

标签: android android-actionbar

我想使用actionBar.setIcon()并让它居中。这有可能吗?

已经尝试过使用自定义视图,但容器没有居中。

2 个答案:

答案 0 :(得分:1)

解决。我刚刚覆盖了自定义样式中的Gravity属性

<item name="android:gravity">center</item>

答案 1 :(得分:0)

这是自定义布局,

    <?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/ActionBartest"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:orientation="horizontal"
   >
   <ImageButton
   android:id="@+id/slideMenuButton"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/ic_launcher"
   android:layout_alignParentLeft="true" />
   <ImageView
   android:id="@+id/icon"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/ic_launcher"
   android:layout_centerVertical="true"
   android:layout_centerInParent="true"  />
</RelativeLayout>

把它放在你的代码中,

ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayOptions(actionBar.DISPLAY_SHOW_CUSTOM);
    View andView = getLayoutInflater().inflate(R.layout.actionbar, null);
    actionBar.setCustomView(andView);