Android ActionBar中的按钮夏洛克未垂直居中

Android ActionBar中的按钮夏洛克未垂直居中,android,android-layout,android-actionbar,actionbarsherlock,Android,Android Layout,Android Actionbar,Actionbarsherlock,我在安卓4.0以下的设备中遇到了一个问题,ActionBarSherlock中的按钮有时无法垂直居中。这发生在运行Android 2.3.6的设备上,不会影响任何运行4.0的设备+ 我在ActionBarSherlock上做了一个非常简单的自定义布局,它的自定义布局结构如下面的XML所示 无法垂直居中按钮的布局: 工作布局和非工作布局之间的唯一区别是,不能居中放置按钮的布局中有一个子线性布局 因此,我的问题是,如何确保按钮在任何情况下都垂直居中以避免屏幕截图中显示的结果 更新:我所尝试的 感

我在安卓4.0以下的设备中遇到了一个问题,ActionBarSherlock中的按钮有时无法垂直居中。这发生在运行Android 2.3.6的设备上,不会影响任何运行4.0的设备+

我在ActionBarSherlock上做了一个非常简单的自定义布局,它的自定义布局结构如下面的XML所示

无法垂直居中按钮的布局:

工作布局和非工作布局之间的唯一区别是,不能居中放置按钮的布局中有一个子线性布局

因此,我的问题是,如何确保按钮在任何情况下都垂直居中以避免屏幕截图中显示的结果

更新:我所尝试的 感谢@nicopico的评论和这篇文章:。我已将布局应用于布局,但按钮仍然没有垂直居中。

好的,我遇到了问题

以下是解决方案

解决方案1 在这个布局中,

<Button
    android:id="@+id/button_actionbar_done"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="DONE"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<Button
    android:id="@+id/button_actionbar_skip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="SKIP"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button_actionbar_skip"
    android:layout_alignBottom="@+id/button_actionbar_skip"
    android:layout_centerHorizontal="true"
    android:text="ENTER YOUR DETAILS"
    android:textColor="@android:color/white" />
我删除了

android:layout\u alignParentTop=true

在两个按钮中,并应用:

android:layout\u centerVertical=true

这两个按钮,现在它可以在操作栏中垂直居中

解决方案2 根据这篇文章

我可以将android:layout_marginBottom或android:paddingBottom应用于按钮,使其居中


但是,我仍然更喜欢android:layout\u centerVertical方法,它不硬编码为数字。

您在文本视图中使用的是android:gravity而不是android:layout\u gravity。有细微的差别@nicopico嗨,我查看了这篇文章,并在我的按钮中应用了android:Layou重力,它需要垂直居中,但它似乎对我不起作用。还有什么我需要注意的吗?
<Button
    android:id="@+id/button_actionbar_done"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="DONE"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<Button
    android:id="@+id/button_actionbar_skip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="SKIP"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button_actionbar_skip"
    android:layout_alignBottom="@+id/button_actionbar_skip"
    android:layout_centerHorizontal="true"
    android:text="ENTER YOUR DETAILS"
    android:textColor="@android:color/white" />
<Button
    android:id="@+id/button_actionbar_done"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="DONE"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<Button
    android:id="@+id/button_actionbar_skip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@color/people_app_theme_color"
    android:gravity="center"
    android:text="SKIP"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@android:color/white" />

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button_actionbar_skip"
    android:layout_alignBottom="@+id/button_actionbar_skip"
    android:layout_centerHorizontal="true"
    android:text="ENTER YOUR DETAILS"
    android:textColor="@android:color/white" />