动作栏对齐按钮

时间:2014-01-26 13:42:01

标签: android button android-actionbar alignment

我有一个带有自定义样式的操作栏的应用程序。在动作栏中,我只有按钮。所以我想在左侧的操作栏中有一个按钮,一个位于操作栏的中心,另一个位于操作栏的右侧。我该如何对齐它们?

1 个答案:

答案 0 :(得分:3)

这可能对你有帮助......

设计一个像这样的布局......

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/actionBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/leftButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="Left" />

    <Button
        android:id="@+id/centerButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Center" />

    <Button
        android:id="@+id/rightButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="Right" />

</RelativeLayout>

并将此布局添加到ActionBar,就像这样...

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);

    View view = LayoutInflater.from(actionBar.getThemedContext()).inflate(R.layout.activity_main, null);
    ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT);
    view.setLayoutParams(layoutParams);
    actionBar.setCustomView(view);