кода! • Преимущества: • Разделение обязанностей программиста и дизайнера • Каждый занимается своим делом • Код становится компактней и понятней • Возможность предоставления альтернативных ресурсов • Данный подход используется в большинстве современных графических фреймворков
помещен в соответствующую подпапку res animator/ xml c описанием анимаций color/ xml со state-list для цвета drawable/ картинки или state-list для картинок layout/ xml с разметкой интерфейса пользователя menu/ xml c описанием меню (элементов actionbar) raw/ произвольные файлы values/ xml определяющий простые типы (строки, массивы, размеры, стили, цвета) xml/ произвольные xml файлы
автоматически создается файл R.java, класс R из которого нужно использовать для доступа к ресурсам в коде // Background для текущего экрана из drawable ресурса getWindow().setBackgroundDrawableResource(R.drawable.my_background_image) ; // Конкретный layout для текущего экрана setContentView(R.layout.main_screen); // In-animation для слайдера из animation ресурса mFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.hyperspace_in)); // Текст для TextView из string ресурса TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello_message);
внутри самих ресурсов делается с помощью следующего синтаксиса: @[<package_name>:]<resource_type>/<resource_name> ... <EditText ... android:textColor="@color/opaque_red" android:text="@string/hello" /> ... <EditText ... android:textColor="@android:color/secondary_text_dark" android:text="@string/hello" />
ресурсов • Во многих ситуациях лучше использовать стандартные ресурсы • Доступ в коде: • Доступ в xml: ... editText.setBackgroundResource(android.R.drawable.editbox_background); ... <EditText ... android:textColor="@android:color/secondary_text_dark"/>
подпапки res • drawable-hdpi, drawable-en-port, values-ru • Альтернативные ресурсы выбираются в Runtime в зависимости от конфигурации • Описание алгоритма отбора и пример - http://d.android.com/guide/topics/ resources/providing-resources.html
строки и др. В Android ресурсы отделяются от кода, Вы пишете код, а дизайнер рисует графику. Предоставьте альтернативные ресурсы, и Ваше приложение будет отлично выглядеть на различных устройствах Резюме 15