有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当我点击“选项”菜单时,java错误地在折叠工具栏上滚动

我创建了一个配置文件页面,其中coordinator布局作为根元素,折叠工具栏,其内部图像视图作为配置文件图片。应用程序的第一个视图只显示信息,到目前为止一切正常!当折叠工具栏完全折叠或展开时,即使是“选项”菜单也非常有效。但当折叠工具栏稍微折叠或稍微展开时,问题就会出现!发生了一些奇怪的事情,你可以在截图中看到

当“选项”菜单单击时,一些视图变为可见,一些视图变为不可见,而“选项”菜单本身将替换为另一个菜单项,该菜单项将取消视图中最近的更改。选项菜单的两项都有上述问题

before options menu clicked

after options menu clicked

after options menu clicked

我的个人资料。xml

<安卓.support.design.widget.CoordinatorLayout 
xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:app="http://schemas.安卓.com/apk/res-auto"
xmlns:fab="http://schemas.安卓.com/apk/res-auto"
xmlns:fresco="http://schemas.安卓.com/apk/res-auto"
xmlns:tools="http://schemas.安卓.com/tools"
安卓:id="@+id/mp_coordinator"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:animateLayoutChanges="true"
安卓:background="@color/semi_white"
安卓:fitsSystemWindows="true"
tools:context=".MyProfile">


<安卓.support.design.widget.AppBarLayout
    安卓:id="@+id/mp_app_bar"
    安卓:layout_width="match_parent"
    安卓:layout_height="256dp"
    安卓:elevation="4dp"
    安卓:fitsSystemWindows="true"
    app:theme="@style/ThemeOverlay.AppCompat.Light">

    <安卓.support.design.widget.CollapsingToolbarLayout
        安卓:id="@+id/mp_collapsing"

        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:fitsSystemWindows="true"
        app:contentScrim="@color/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:theme="@style/ThemeOverlay.AppCompat.Dark">


        <ImageView
            安卓:src="@drawable/user_default"
            安卓:id="@+id/mp_iv_profile"
            安卓:layout_width="match_parent"
            安卓:layout_height="match_parent"
            安卓:scaleType="centerCrop"
            app:layout_collapseMode="parallax" />

        <安卓.support.v7.widget.Toolbar
            安卓:id="@+id/mp_toolbar"
            安卓:layout_width="match_parent"
            安卓:layout_height="?安卓:attr/actionBarSize"
            app:layout_collapseMode="pin"
            安卓:fitsSystemWindows="false"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <TextView
            style="@style/ToolbarsTv"
            安卓:id="@+id/mp_tv_title"
            安卓:layout_width="wrap_content"
            安卓:layout_height="wrap_content"
            安卓:layout_gravity="center_horizontal"
            安卓:layout_marginTop="16dp"
            app:layout_collapseMode="pin" />


    </安卓.support.design.widget.CollapsingToolbarLayout>


</安卓.support.design.widget.AppBarLayout>


<include layout="@layout/content_scrolling"/>

在所选项目的选项上

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {

        case 安卓.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);
}

共 (1) 个答案

  1. # 1 楼答案

    问题是在一个布局中使用了两个东西,一个是协调器布局属性android:animateLayoutChanges="true",另一个是视图属性app:layout_behavior="@string/bottom_sheet_behavior"