Я пытаюсь добавить параллельный эффект между макетом нижнего листа и представлением карты. Но журнал Google в представлении карты скрывается при расширении макета нижнего листа.[Логотип Google скрыт]
показывать логотип Google при сворачивании нижнего листа
Я использую следующий код:
макет
<android.support.design.widget.CoordinatorLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/Green"
tools:context=".ui.activities.ChooseLocationActivity">
<RelativeLayout
android:id="@+id/map_rlyt"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="com.koya.android.ui.widget.CollapseBehavior"
app:layout_anchor="@+id/bottom_sheet_layout">
<fragment
android:id="@+id/g_map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/category_activity_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/category_search_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/custom_edit_text_margin_top"
android:layout_marginLeft="@dimen/custom_edit_text_margin_left_right"
android:layout_marginRight="@dimen/custom_edit_text_margin_left_right"
android:background="@android:color/transparent">
<android.support.v7.widget.AppCompatImageView
android:id="@+id/ic_back_iv"
android:padding="@dimen/location_activity_back_button_padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@mipmap/ic_back_black"/>
<EditText
android:id="@+id/editTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/custom_edit_text_padding"
android:textColor="@color/black"
android:drawablePadding="8dp"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLines="1"
android:drawableLeft="@mipmap/ic_search_gray"
android:textCursorDrawable="@drawable/edit_text_cursor_drawable"
android:drawableRight="@mipmap/ic_close_gray"
android:textSize="@dimen/custom_edit_text_text_size"
android:background="@drawable/drawable_custom_edittext"
/>
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
<Button
android:id="@+id/redo_search_in_map_area_button"
style="@style/CategoryChooseButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/category_search_box"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/fifteen_text_size"
android:animateLayoutChanges="true"
android:paddingEnd="@dimen/redo_search_button_padding"
android:paddingStart="@dimen/redo_search_button_padding"
android:text="@string/redo_search_in_map_area"
android:textAllCaps="false"
android:visibility="gone"
/>
</RelativeLayout>
<include
android:id="@+id/bottom_sheet_layout"
layout="@layout/bottom_sheet"/>
<Button
android:id="@+id/select_location_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="@string/use_selected_location"
android:visibility="gone"
tools:visibility="visible"
style="@style/CategoryChooseButtonStyle"/>
<include android:id="@+id/error_layout"
layout="@layout/error_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
/>
И реализовать Coordinatorlayout.Behavior
public class CollapseBehavior<V extends ViewGroup> extends CoordinatorLayout.Behavior<V>{
public CollapseBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onDependentViewChanged(CoordinatorLayout parent, V child, View dependency) {
if (isBottomSheet(dependency)) {
BottomSheetBehavior behavior = ((BottomSheetBehavior) ((CoordinatorLayout.LayoutParams) dependency.getLayoutParams()).getBehavior());
int peekHeight = behavior.getPeekHeight();
// The default peek height is -1, which
// gets resolved to a 16:9 ratio with the parent
final int actualPeek = peekHeight >= 0 ? peekHeight : (int) (((parent.getHeight() * 1.0) / (16.0)) * 9.0);
if (dependency.getTop() >= actualPeek) {
// Only perform translations when the
// view is between "hidden" and "collapsed" states
final int dy = dependency.getTop() - parent.getHeight();
ViewCompat.setTranslationY(child, dy/2);
return true;
}
}
return false;
}
private static boolean isBottomSheet(@NonNull
View view) {
final ViewGroup.LayoutParams lp = view.getLayoutParams();
if (lp instanceof CoordinatorLayout.LayoutParams) {
return ((CoordinatorLayout.LayoutParams) lp)
.getBehavior() instanceof BottomSheetBehavior;
}
return false;
}
}
Мне нужен этот тип прокрутки в моем приложении -> https://streamable.com/g0tf9
Как прокрутить карту Google, когда нижний лист расходует с параллаксомэффект?Я был бы очень признателен!
Заранее спасибо.