【发布时间】:2013-01-13 19:14:27
【问题描述】:
我正在尝试使图标在 android 操作栏中居中。我正在使用自定义布局,左侧有一个按钮,中间有一个图标,右侧有菜单选项。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ActionBarWrapper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageButton
android:id="@+id/slideMenuButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_menu_bookmark" />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>
我已经尝试过使用和不使用包装 ImageView 的 RelativeLayout。左侧按钮显示正常,我可以使用 layout_toRightOf 设置图标,但无法使其居中。有人有什么想法吗?
编辑: 这是on create方法中的android代码。
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 cView = getLayoutInflater().inflate(R.layout.actionbar, null);
actionBar.setCustomView(cView);
【问题讨论】:
-
当您从父 relativelayout 中删除 android:orientation = "vertical" 时,您能发现任何不同吗?我建议你不要在 relativelayout(第二个)中再次包装 imageview 并检查。
-
刚刚尝试在图像视图周围没有相对布局,并从主布局中删除了 android:orientation。图像最终位于按钮顶部。该按钮正是我想要的位置,我只需将该图像置于操作栏中的中心即可。
-
看我的回答。如果您仍然不明白,请告诉我。
标签: android android-layout android-actionbar actionbarsherlock