我有一个包含Google地图的片段:
地图占据整个屏幕,并启用了我的位置功能:
以下代码应该将“我的位置”按钮对齐到屏幕的左上角:
然而,这只能将按钮对齐到屏幕的顶部中心。但是,如果我添加以下内容:
我有一个包含Google地图的片段:
<com.google.android.gms.maps.MapView
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:uiZoomControls="false"
map:uiRotateGestures="true"
map:uiScrollGestures="true"
map:uiZoomGestures="true"
map:uiTiltGestures="false" />
地图占据整个屏幕,并启用了我的位置功能:
map.setMyLocationEnabled(true);
以下代码应该将“我的位置”按钮对齐到屏幕的左上角:
// Get the mylocation button view
View locationButton = ((View) mapview.findViewById(Integer.parseInt("1")).getParent()).findViewById(Integer.parseInt("2"));
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) locationButton.getLayoutParams();
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
rlp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
然而,这只能将按钮对齐到屏幕的顶部中心。但是,如果我添加以下内容:
if (Build.VERSION.SDK_INT >= 17) {
rlp.addRule(RelativeLayout.ALIGN_PARENT_START);
}
然后它就能正确地向左对齐了。问题在于,ALIGN_PARENT_START 在 api 17 之前无法以编程方式使用,而我需要支持更低的 api 级别。为什么 align_parent_left 单独使用不能将按钮向左对齐?