2013-11-09 28 views
25

當我創建一個新項目時,Fragment_main.xml文件被添加到我的Layout文件夾中,與Eclipse不同的是它包含什麼文件通常在Activity_Main.xml文件中。爲什麼Fragment_main.xml文件總是添加到我的Android Studio項目中,它與「常規」Activity_main.xml文件有何不同?Android Studio中的Acitvity_Main.xml和Fragment_main.xml文件有什麼區別

+0

推測它包含片段的佈局。我建議閱讀生成的Java源代碼以查看此佈局文件的引用位置。 – CommonsWare

回答

5

如果你正在創建一個新的Project,並且默認添加了fragment_main.xml,你必須默認選擇一個佈局。也許一個傳呼機/微調器佈局?

Fragment_main與activity_main相同。這些名稱只是字符串標籤,並且本身沒有任何意義,只是爲了使IDE更清晰而進行了更改。

請仔細閱讀本文。

http://developer.android.com/guide/topics/ui/declaring-layout.html

+1

**如果您正在創建新項目,並且默認添加了fragment_main.xml,則您必須默認選擇佈局。也許一個尋呼機/微調器的佈局?**不,我沒有選擇默認的佈局,我只是按照創建一個新項目的基本默認步驟,並最終與它。 –

+1

因爲它們是相同的,我只需要使用Fragment_main.xml文件。但是兩者有什麼關係呢? (這是一個修辭問題:)) –

+1

如果你有不同的佈局應用程序的不同部分。如果你不知道什麼片段現在只是忽略它。你必須瞭解什麼是碎片來獲得這個。 如果這有助於我們upvote謝謝。 :) – bungleofsketches

1

就像Bytehawks在上面說的那樣。

activity_main.xml描述FragmentActivity的佈局,fragment_main.xml是片段的佈局。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); //get the activity_main.xml for layout 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


    //code for describing layout more details, get fragment_main.xml 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new PlaceholderFragment()) 
       .commit(); 
    } 
} 
/** 
* A placeholder fragment containing a simple view. 
*/ 
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_main, container, false); 
     return rootView; 
    } 
} 
相關問題