2013-11-23 12 views
5

は、毎回私はそれが次の構造を作成するウィザードからのアクティビティの作成:すべてのアクティビティの断片が良い練習になっていますか(Android Studioをベースにしています)?新しいAndroidのメーカーで

public class LoginActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

     if (savedInstanceState == null) { 
      getFragmentManager().beginTransaction() 
        .add(R.id.container, new PlaceholderFragment()) 
        .commit(); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.login, menu); 
     return true; 
    } 

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

    public static class PlaceholderFragment extends Fragment { 

     public PlaceholderFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_login, container, false); 
      return rootView; 
     } 
    } 

} 

お知らせアクティビティがありますが、それは、フラグメントのプレースホルダーが含まれています。これは良い習慣と考えられていますか?なぜなら、将来、タブレットをサポートしたり、断片を置き換えたりすることができれば(それはAndroidスタジオの新しいデフォルトの理由なのでしょうか?)

答えて

6

一般的に言えば、サイズ/アスペクト比の異なるデバイスに異なるレイアウトを使用できるように、可能な限りフラグメントを使用するようにしてください。

はい、Androidスタジオがデフォルトでそのようにコードを生成します。

しかし、良いルールのように、例外があります。時々、活動は単純であり、異なった装置で異なっていないでしょう。その場合、断片は必ずしも意味をなさない。

つまり、デフォルトでフラグメントを使用します。あなたのプロジェクトであなたが意味をなさないいくつかのケースでは、ちょうどアクティビティを行ってください。

関連する問題