2017-04-21 9 views
0

私はフラグメント内のオプションメニューでツールバーを折りたたんでいます。ツールバーを折りたたむと、メニューがステータスバーの上に移動します。だから、崩壊後、私は メニューのオプションが表示されません。ここでAndroid:ツールバーを折りたたんでいる間にブロックオプションメニュー

enter image description here enter image description here

私の.xmlコード:私はスクリーンショットでそれを示して

<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/abl_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/ctl_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_scrollFlags="scroll|snap|exitUntilCollapsed" 
     app:contentScrim="?attr/colorPrimary"> 

     <ImageView 
      android:id="@+id/iv_avatar" 
      android:layout_width="match_parent" 
      android:layout_height="220dp" 
      android:src="@drawable/ic_main_logo" 
      android:scaleType="centerInside" 
      android:background="@drawable/shape_profile_avatar_background" 
      app:layout_collapseMode="parallax"/> 

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

    </android.support.design.widget.CollapsingToolbarLayout> 

</android.support.design.widget.AppBarLayout> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/rv_results" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/btn_avatar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="16dp" 
    android:elevation="4dp" 
    app:elevation="4dp" 
    app:srcCompat="@drawable/vector_photo_camera_black_24dp" 
    app:layout_anchor="@id/abl_toolbar" 
    app:layout_anchorGravity="bottom|right|end"/> 

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

ここフラグメントからの私のコード:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

    mActivity = (MainActivity) getActivity(); 
    mAdapter = new ProfileRVAdapter(); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_profile, parent, false); 

    mIVAvatar = (ImageView) view.findViewById(R.id.iv_avatar); 

    LinearLayoutManager manager = new LinearLayoutManager(mActivity); 

    RecyclerView rvResults = (RecyclerView) view.findViewById(R.id.rv_results); 
    rvResults.setLayoutManager(manager); 
    rvResults.setAdapter(mAdapter); 

    Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar); 
    toolbar.setTitle(R.string.activity_main_profile_label); 

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     toolbar.setPadding(0, mActivity.getStatusBarHeight(), 0, 0); 
     toolbar.getLayoutParams().height = toolbar.getLayoutParams().height + mActivity.getStatusBarHeight(); 
    } 

    mActivity.setSupportActionBar(toolbar); 

    view.findViewById(R.id.btn_avatar).setOnClickListener(this); 
    view.findViewById(R.id.btn_cancel).setOnClickListener(this); 
    view.findViewById(R.id.btn_gallery).setOnClickListener(this); 
    view.findViewById(R.id.btn_photo).setOnClickListener(this); 

    mBottomSheet = BottomSheetBehavior.from(view.findViewById(R.id.ll_bottom_sheet)); 
    mBottomSheet.setState(BottomSheetBehavior.STATE_HIDDEN); 

    return view; 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.menu_profile, menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.menu_edit: 
      return true; 
     case R.id.menu_logout: 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

任意のアイデア理由それは起こった?

編集/解決: 私は私の問題を解決しました。ツールバーの属性に間違いがありました。私はapp:layout_collapseMode = "pin"を忘れました。以下のようActivityコードでActivity's layoutファイル& 設定ツールバーのlayout.xmlコードでToolbar

+0

ステータスバーの上に何も表示されません。あなたはどういう意味ですか? – creativecreatorormaybenot

+1

私のオプションのメニューは、最初のスクリーンショットで、私がツールバーを崩壊すると消えました - 第2スクリーンショット –

答えて

0

セット設計コード、

Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 

//アクティビティファイルにこのコード行を追加します。

+0

私の編集した答えを見て、あなたに役立ちます –

+0

私はアクティビティxmlファイルのツールバーを移動できません。あなたが見ることができるように、スクリーンは下のナビゲーションビューを持っています。アクティビティは、ツールバーと機能が全く異なる2つのフラグメントを実現します。だから私は断片的にのみツールバーを膨らませることができます –

関連する問題