MainActivityのonCreate
では、xmlレイアウトのFrameLayout
フラグメントコンテナを、FragmentManager
を使用してMainFragmentのxmlレイアウトのDragSelectRecyclerView
に置き換えました。プログラマブルなフラグメントコンテナからの断片化ビューのアクセス
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFragmentManager().beginTransaction()
.replace(R.id.fragmentContainer, new MainFragment())
.commit();
}
MainActivityの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:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.gra.app.activities.MainActivity">
<FrameLayout
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="?attr/actionBarSize" />
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior=".utilities.AppBarLayoutBackgroundAlphaBehavior">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
MainFragmentのXML:
<com.afollestad.dragselectrecyclerview.DragSelectRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:dsrv_autoScrollEnabled="true"
app:dsrv_autoScrollHotspotHeight="56dp"
tools:context="com.gra.app.fragments.MainFragment" />
プログラムでFrameLayout
を通じてDragSelectRecyclerView
のインスタンスにアクセスする方法はありますか?
この理由は、私はそう私はAppBarLayout
をフェードすることができMainFragmentのDragSelectRecyclerView
に依存MainActivityのXML内AppBarLayout
を作成する必要がある/アウト
CoordinatorLayout.Behavior<AppBarLayout>
を通じて
DragSelectRecyclerView.getVerticalScrollbarPosition()
に基づきますこれは可能ですか?それともMainActivityのxml内にDragSelectRecyclerView
を移動するだけですか?
フラグメントコンテナとしてのFrameLayoutを使用しないで、どのフラグメントを次のフラグメントに切り替えるのですか? –
私はフラグメント内で手動でツールバーアニメーションを処理することに決めました。なぜなら、CoordinatorLayout.Behaviorを使用していれば、各フラグメントに対してCoordinatorLayout、AppBarLayout、Toolbarが必要になるからです。私は、モジュール化したままにして、ツールバーを処理するだけのアクティビティを持っていたかったので、FrameLayoutを使ってフラグメントコンテナとして機能しています。あなたの助けをありがとう! –