所以我的问题是以下......我有一个RelativeLayout,它有3个主要元素。左侧有2个按钮,右侧有另一个按钮,中心有一个包含ViewPager和按钮的ScrollView布局。
按钮与它的父母对齐。但我无法让ViewPager自行调整。
这是我的XML布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/leftButtons"
android:weightSum="1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="10dip"
android:orientation="vertical"
android:layout_alignParentStart="true"
>
<Space
android:layout_weight="0.5"
android:layout_width="match_parent"
android:layout_height="0dip" />
<ImageButton
android:id="@+id/leftArrowBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:contentDescription="@string/left_arrow"
android:gravity="center_vertical|center_horizontal"
android:src="@drawable/arrow_left_selector"
android:layout_marginBottom="60dip"
/>
<ImageButton
android:id="@+id/leftArrowBtnAll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:contentDescription="@string/left_arrow"
android:gravity="center_vertical|center_horizontal"
android:src="@drawable/arrow_left_selector_all" />
</LinearLayout>
<ScrollView
android:id="@+id/middleLayouts"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_toRightOf="@+id/leftButtons"
android:layout_toLeftOf="@+id/rightButtons"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="35dip"
android:gravity="center_horizontal"
>
<Button
android:id="@+id/selectDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:background="@drawable/default_button_rounded"
android:drawablePadding="35dip"
android:drawableRight="@drawable/ic_date_light"
android:gravity="center_vertical|center_horizontal"
android:paddingBottom="5dip"
android:paddingLeft="25dip"
android:paddingRight="25dip"
android:paddingTop="5dip"
android:text="@string/monthly_statistics_"
android:textColor="@color/light_bg" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_horizontal"
/>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/rightButtons"
android:weightSum="1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="10dip"
android:orientation="vertical"
android:layout_alignParentEnd="true"
>
<Space
android:layout_weight="0.5"
android:layout_width="match_parent"
android:layout_height="0dip" />
<ImageButton
android:id="@+id/rightArrowbtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:contentDescription="@string/right_arrow"
android:gravity="center_vertical|center_horizontal"
android:src="@drawable/arrow_right_selector"
android:layout_marginBottom="60dip"
/>
<ImageButton
android:id="@+id/rightArrowbtnAll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:contentDescription="@string/right_arrow"
android:gravity="center_vertical|center_horizontal"
android:src="@drawable/arrow_right_selector_all" />
</LinearLayout>
这是一个看起来如何的ScreenShot ......
这是布局编辑器的屏幕截图,显示表格应该对齐....
我已经尝试了所有类型的布局和重力等等。但我无法将其置于中心位置! :(
由于
答案 0 :(得分:0)
对我来说,看起来像在scrollview中的线性布局应该具有match_parent的宽度而不是wrap_content
<ScrollView
android:id="@+id/middleLayouts"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_toRightOf="@+id/leftButtons"
android:layout_toLeftOf="@+id/rightButtons"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="35dip"
android:gravity="center_horizontal"
>
答案 1 :(得分:0)
我终于明白了。我的问题是我使用TableLayout
创建表格,而TableLayout
始终将其宽度设置为match_parent
。因此,TableLayout使用整个宽度而不是居中。我使用垂直TableLayout
从LinearLayout
切换到TableRows
,现在效果很好。 :)