在中心垂直对齐菜单项

时间:2015-03-06 12:56:40

标签: android xml

我有一个带片段的菜单(每个菜单项目的屏幕)。我需要将这些项目垂直对齐。

我的代码是:

activity_maps.xml(“地图”项目的屏幕)

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/map"
        tools:context=".HomeFragment"
        android:name="com.google.android.gms.maps.SupportMapFragment"/>
    </RelativeLayout>

和menu_item.xml

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerVertical="true"
    android:layout_gravity="center_vertical"
    android:orientation="vertical"
    android:background="@drawable/list_selector">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_marginTop="200dp"
        android:contentDescription="@string/desc_list_item_icon"
        android:src="@drawable/ic_home"
        android:gravity="center_vertical"
        android:layout_centerVertical="true" />
</RelativeLayout>

有一个activity_main,菜单里面有一个listView

中的menu_itens.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:layout_height="match_parent">

<!-- Framelayout to display Fragments -->
<FrameLayout
    android:id="@+id/frame_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<!-- Listview to display slider menu -->
<ListView
    android:id="@+id/list_slidermenu"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"        
    android:listSelector="@drawable/list_selector"
    android:background="@color/list_background"/>

编辑:打印链接 http://s12.postimg.org/3ysbeaarx/Screenshot_2015_03_06_10_35_53.png

1 个答案:

答案 0 :(得分:0)

您可以使用 LinearLayout 代替 ListView

    <LinearLayout
        android:layout_width="240dp"
        android:layout_height="fill_parent"
        android:orientation="vertical">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="1"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="center_horizontal"/>

    </LinearLayout>

或者你可以像任何布局一样重新设计