我有一个工作正常的布局。一个视图在前面,另一个在后面。我正在使用 CoordinatorLayour,因为我使用的是 FAB。前视图是地图,后视图是单击 FAB 按钮时显示数据的视图。
为此,我在 SO 上看到了这些链接:
将视图放置在 android 中 CoordinatorLayout 中的另一个视图下方
在android中的另一个视图上方放置/重叠(z-index)视图
根据答案,我做了一个简单的代码。但前视图坚持在前面。有什么我想念的吗?:
final RelativeLayout rev = findViewById(R.id.bg_detail);
final RelativeLayout orange_map = findViewById(R.id.orange_map);
floatingActionButtonEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
rev.bringToFront();
rev.getParent().requestLayout();
rev.invalidate();
}
});
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true""
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar_base"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/orange_map"
android:background="@android:color/holo_orange_light">
<!--fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" /-->
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bg_detail">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.6"
android:orientation="vertical"
android:background="@android:color/holo_red_dark"
android:visibility="invisible"
android:id="@+id/dummy"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.4">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
...
</RelativeLayout>
</ScrollView>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/floatingactionbutton_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:src="@drawable/ic_assignment_white_24dp"
app:layout_anchor="@id/dummy"
app:layout_anchorGravity="bottom|right|end"/>
</android.support.design.widget.CoordinatorLayout>