2015-10-29 4 views
3

Я только начал изучать разработку Android-приложений. У меня Android Studio 1.4. В моей папке макета у меня два файла XML (content_main.xml и activity_main.xml). Я использую онлайн-уроки для изучения, но у них есть только activity_main.xml. Поэтому я хочу знать, каковы функции, которые должны использоваться в этих соответствующих файлах. могу ли я просто использовать activity_main.xml и просто позволить другому быть? и наоборот.Почему есть content_main.xml и activity_main.xml по умолчанию, а не только activity_main.xml?

+2

Посмотрите на следующий ответ: [http://stackoverflow.com/a/32880945/5352802](http://stackoverflow.com/a/ 32880945/5352802) – camelCaseCoder

ответ

10

Современный Android подход основан на Fragments, которые, таким образом, «малую деятельность», который вы можете положить в Activities, получая большую гибкость.

Поэтому activity_main.xml просто раскладка активность, содержащая контейнер (FrameLayout наиболее вероятно) и content_main.xml является расположение для фрагмента вложен в этот контейнер где-то в пределах MainActivity.java. Вы должны изучить код, чтобы понять его лучше :)

0

используйте тот, который установлен в классе Activity. Я имею в виду setContentView(). или, пожалуйста, укажите свой код, если вы хотите получить более подробное описание.

0

Я не видел, чтобы Android Studio создавала два файла макета для одного действия. Возможно, content_main.xml был создан для предыдущего действия, не так ли?

В любом случае, не имеет значения, каково имя файла макета. Выберите один и пойдите для него. Только не забудьте установить правильный в своей деятельности:

@Override 
protected void onCreate(Bundle savedInstanceState){ 
    setContentView(R.layout.your_layout_here); 
} 
6

Насколько я знаю, должно быть включать заявление в файле activity_main.xml следующим образом:

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

, что означает, что он называет content_main .xml, который содержит фактические элементы.

Не будет проблем, если вы вырезаете и вставляете все содержимое файла content_main.xml и вставляете его в файл activity_main.xml вместо инструкции include (tag). Вы можете удалить свой content_main.xml после выполнения, как указано выше.

В вашей деятельности setContentView() заявление следует выглядеть, как показано ниже:

setContentView(R.layout.activity_main); 
2

Согласно новой модели дизайна в Android Studio activity_main.xml будет определить, как должен быть внешний вид основной деятельности. А с другой стороны content_main.xml будет определять содержимое в файле activity_main.xml. То есть content_main.xml будет содержать компонент textview, edittext, button и т. Д. И content_main.xml будет включен в Activity_main.xml.

Таким образом, мы можем думать о content_main.xml, как частичный в HTML. activity_main.xml будет содержать ваш глобальный дизайн активности и content_main.xml содержимое.

What is the role of content_main.xml in android studio 1.4?

Так кажется content_main.xml является частью нового шаблона дизайна, введенным в Android Studio 1.4. На данный момент, чтобы ужиться с учебниками, вы можете найти «пустую деятельность» при создании нового проекта. Он не будет содержать content_main.xml.

Как уже упоминалось ранее, файл макета, используемый для вашей деятельности, устанавливается в setContentView(R.layout.activity_main); в функции onCreate.

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 
Смежные вопросы