2013-10-14 2 views
0

Я написал приложение и теперь хочу создать интерфейс. Проблема в том, что у меня одни и те же данные (ну, не то же самое, но такие же данные, поскольку это XML-считывание), и теперь я хотел его спроектировать. Но я не думаю, что смогу получить дизайн, как я хочу его программным путем. Поэтому я подумал, что однажды создаю его с помощью XML, а затем скопирую макет в цикле for для других данных. Это возможно?Использование XML-дизайна списка просмотра несколько раз

Если да, то как это возможно? Я закончил сейчас свой XML для одной записи, и теперь я хочу, чтобы все остальные записи имели тот же стиль и макет, что и другие ... Спасибо!

+0

Читали ли вы, как использовать ListView с пользовательской ячейке? Пункт 10 http://www.vogella.com/articles/AndroidListView/article.html –

+0

Звучит интересно. Я дам ему попробовать. Благодарю. Будет отчитываться, но у меня много данных, поэтому потребуется некоторое время. Уже сейчас! – Musterknabe

ответ

0

Существует простой способ достичь этого.

В файле xml есть тег, в котором вы можете использовать один макет в нескольких экранах.

например. вы создали заголовок для приложения, поэтому не нужно использовать один и тот же код во всем файле, просто вы можете включить эту часть в каждый XML-файл.

вот простой пример, который может вам помочь.

Создание Многоразовый Layout

titlebar.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width=”match_parent” 
    android:layout_height="wrap_content" 
    android:background="@color/titlebar_bg"> 

    <ImageView android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/gafricalogo" /> 
</FrameLayout> 

Используйте тег:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width=”match_parent” 
    android:layout_height=”match_parent” 
    android:background="@color/app_bg" 
    android:gravity="center_horizontal"> 

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

    <TextView android:layout_width=”match_parent” 
       android:layout_height="wrap_content" 
       android:text="@string/hello" 
       android:padding="10dp" /> 

    ... 

</LinearLayout> 
+0

Эй, спасибо, но я думаю, вы неправильно поняли мой вопрос. Я не хочу использовать другой макет в своем новом макете. Я хочу создать TextView только один раз, а затем программно использовать его и для следующих 48. Комментарий ниже моего ответа помог мне немного. Я попробую. – Musterknabe

+0

okey, тогда вы можете создать собственный класс, который расширяется текстовым представлением или функцией для создания текстового представления с его стилем. – Hasmukh

0

Вы должны быть с помощью адаптера, чтобы определить ваши ListView элементы , В этом случае вы определите макет для этого адаптера (используя XML), который будет применяться к каждому элементу в ListView.

В нижней строке используйте адаптер, который установит один и тот же формат XML для каждого элемента в вашем списке.

(Проверьте пункт # 3) http://docs.xamarin.com/guides/android/user_interface/working_with_listviews_and_adapters

Смежные вопросы