Я создал страницу профиля с макетом координатора в качестве корневого элемента и сворачивающейся панели инструментов, а его внутреннее изображение отображается в виде изображения профиля.Первый вид приложения показывает только информацию, и до сих пор все в порядке! Даже меню опций прекрасно работает, когда сворачиваемая панель инструментов полностью свернута или развернута. Но проблема возникает, когда сворачивающаяся панель инструментов немного свернута или немного расширена!Произошли некоторые странные вещи, которые вы можете увидеть на скриншотах!
Когда щелкнули меню опций, некоторые виды стали видимыми, а некоторые повернули, и само меню опций заменяется другим пунктом меню, который отменит последние изменения в представлениях.Оба пункта меню параметров имеют вышеуказанную проблему!
myprofile.xml
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mp_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:background="@color/semi_white"
android:fitsSystemWindows="true"
tools:context=".MyProfile">
<android.support.design.widget.AppBarLayout
android:id="@+id/mp_app_bar"
android:layout_width="match_parent"
android:layout_height="256dp"
android:elevation="4dp"
android:fitsSystemWindows="true"
app:theme="@style/ThemeOverlay.AppCompat.Light">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/mp_collapsing"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:src="@drawable/user_default"
android:id="@+id/mp_iv_profile"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/mp_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_collapseMode="pin"
android:fitsSystemWindows="false"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<TextView
style="@style/ToolbarsTv"
android:id="@+id/mp_tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_scrolling"/>
на выбранный элемент параметров
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case android.R.id.home:
onBackPressed();
break;
case R.id.mp_options_menu_edit:
mp_btn_save.setVisibility(View.VISIBLE);
item_edit.setVisible(false);
item_cancel.setVisible(true);
onEdit();
break;
case R.id.mp_options_menu_cancel:
mp_btn_save.setVisibility(View.GONE);
item_edit.setVisible(true);
item_cancel.setVisible(false);
onCancelEdit();
break;
}
return super.onOptionsItemSelected(item);
}