如何使用导航视图正确对齐操作栏中的按钮

时间:2017-01-05 08:28:24

标签: android xml android-layout android-toolbar android-appbarlayout

我创建了一个带有两个按钮的操作栏。此活动还包括侧边菜单。我为此目的使用了导航视图。

所以,我的活动如下所示,

enter image description here

但实际上我想要它如下(注意“取消”按钮更靠近导航栏,两个按钮都正确对齐),

enter image description here

这是我的操作条形码(在布局文件中),

<android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_target_ranges"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <LinearLayout
                android:id="@+id/target_ranges_layout_main"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <android.support.v7.widget.AppCompatButton
                    android:id="@+id/target_ranges_cancel_btn"
                    style="@style/ButtonStyle_Med"
                    android:layout_weight="1"
                    android:text="@string/action_cancel" />

                <android.support.v7.widget.AppCompatButton
                    android:id="@+id/target_ranges_save_btn"
                    style="@style/ButtonStyle_Med"
                    android:layout_weight="1"
                    android:text="@string/action_save" />

            </LinearLayout>

        </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>

如何实现这一目标?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

问题是您的工具栏没有为内部LinearLayout设置中心引力。您可以通过将LayoutParams设置为LinearLayout来实现,如下所示:

db.testmarket.find().toArray().forEach(
  function(obj){
    for(var i = 0; i < obj.Fields.length; ++i) { 
        obj.Fields[i]['Test13'] = '1';
    }
    db.testmarket.update({_id: obj._id}, obj);
  }
);

答案 1 :(得分:1)

试试这个,

{"1":"three","2":"two"}

答案 2 :(得分:1)

选择RelativeLayout并调整Button而不是LinearLayout

 <android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_target_ranges"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary">

        <RelativeLayout
            android:id="@+id/target_ranges_layout_main"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/target_ranges_cancel_btn"
                style="@style/ButtonStyle_Med"
                android:text="Cancel"
                android:layout_width="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_alignParentLeft="true"
                android:layout_height="wrap_content" />

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/target_ranges_save_btn"
                style="@style/ButtonStyle_Med"
                android:layout_alignParentRight="true"
                android:text="Save"
                android:layout_marginRight="50dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </RelativeLayout>

    </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>