我已经放置了三个按钮,如下所示
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Standard"
android:id="@+id/standard_map"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="satellite"
android:id="@+id/satellite"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hybrid"
android:id="@+id/hybrid"/>
</LinearLayout>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"
map:cameraTargetLat="13.0827"
map:cameraTargetLng="80.2707"
map:cameraBearing="112.5"
map:cameraTilt="65"
map:cameraZoom="20"/>
</LinearLayout>
产量如下: image explaining the problem
内部线性布局的方向是水平的,完全没问题。我需要按钮在中心对齐(垂直居中)。即使我使用android:gravity="centre"
,它也会将水平居中的按钮对齐,这是没有用的。 我需要按钮在水平线性布局中垂直居中。
答案 0 :(得分:0)
据我了解你的问题,你想制作中间按钮 在中心,所以我做了一些更改,请更新你的代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/standard_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Standard"
android:layout_weight="1"/>
<Button
android:id="@+id/satellite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="satellite"
android:layout_weight="1"
/>
<Button
android:id="@+id/hybrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hybrid"
android:layout_weight="1"/>
</LinearLayout>
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraBearing="112.5"
map:cameraTargetLat="13.0827"
map:cameraTargetLng="80.2707"
map:cameraTilt="65"
map:cameraZoom="20" />
</LinearLayout>
如果有任何问题,请告诉我。
答案 1 :(得分:0)
在第二个LinearLayout中更改layout_gravity和orientation属性。所以,你的第二个布局应该是这样的:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:orientation="vertical">
...
</LinearLayout>
你将实现这一目标: