0

私はいくつかの活動を含むアプリを書いています。それぞれはより多くの断片で構成されています。ほとんどの部分では、私はを別のツールバーに設定したいと思っています ...どこでそれをすればいいですか?私はonCreate()またはonCreateView()の中のほとんどすべてをやっていましたが、今私は自分自身に質問しています:onStart()に入れた方が正しいかもしれませんか? アクティビティとフラグメントライフサイクルの動作を知っていますが、の特定のケースへの回答が見つかりませんでした。 ここで私は断片の一つに使用されるコードは次のとおりです。フラグメントにツールバーを設定する場所は? onCreate()またはonStart()?

// Toolbar setup 
setHasOptionsMenu(true); 
AppCompatActivity activity = (AppCompatActivity) getActivity(); 
ActionBar actionBar = activity.getSupportActionBar(); 
if (actionBar != null) 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    Toolbar tb = (Toolbar) activity.findViewById(R.id.toolbar_main); 
    tb.setNavigationOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      FragmentManager mng = getFragmentManager(); 
      mng.popBackStack(); 
     } 
    }); 
if (activity.getSupportActionBar() != null) 
    activity.getSupportActionBar().setTitle(R.string.toolbar_title); 
    tb.setVisibility(View.VISIBLE); 

はここR.id.toolbar_mainが定義されているactivity_main.xmlファイルの一部です:

<!--- [...] ---> 
<android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar_main" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 
</android.support.design.widget.AppBarLayout> 
<!--- [...] ---> 

答えて

0

は.onCreate()メソッドでそれを行う - 材料設計のためのGoogleのサンプルプロジェクトを参照してください。https://github.com/chrisbanes/cheesesquare

+1

あなたの答えをありがとう。各フラグメントの特定の変更さえ、相対フラグメントの 'onCreate()'に入るほうが良いでしょうか?私がリンクしたサンプルプロジェクトでは、ツールバーの変更はフラグメント内ではなく、アクティビティ内でのみ行われます。 – Robb1

+0

さて、ツールバーはレイアウトの別のビューです。別のビューでalogをカスタマイズすることになっています。 –

0

は、まあ、私はあなたのActivityクラスでツールバーを置くことをお勧めします。必要に応じてカスタムツールバーを作成することもできます。フラグメントを呼び出す際に、メソッドを呼び出すことによって、あなたのアクティビティやフラグメントで変更(色、テーマなど)を行うことができます。

+1

私の質問は、主に 'onCreate()'と 'onStart()'メソッドについてです!あなたが話している部分にこれらの変更をどこに置くか?大きな違いはありますか? – Robb1

1

は色があなたの活動や変更のツールバー、あなたのフラグメントのタイトルなどが含まれます。

関連する問題