2016-09-23 2 views
-2
  1. Сценарий: У меня есть сценарий, где мне нужно построить apk, который будет иметь два набора тем и возможность рисования.

Можем ли мы приспособить этот сценарий к андроиду, так что apk во время компиляции должен выбрать другую тему и вынести. На основании некоторых условий как нижеЗапросить руководство по андроидному оформлению

Set 1

Set 2

Тема (темная версия) В Res имя папки Папка: Drawable Image1.png Image2.Png Image3.Png Image4.Png

Тема (легкая версия) В папке «Res» Папка nam е: Drawable Image1.png Image2.Png Image3.Png Image4.Png

Примечание: в наборе 1 и установить 2 Drawable изображения различны, но с таким же именем. То есть изображение 1 в наборе 1 отличается от изображения 1 в наборе 2

Просьба направлять меня в отношении подхода, который я должен выбрать

Спасибо заранее.

+0

как и в случае в приведенной ниже http://www.techotopia.com/index.php/An_Android_Studio_Gradle_Build_Variants_Example productFlavors { телефон { ApplicationID "com.ebookfrenzy.buildexample.app.phone" versionName "1,0-телефон" } таблетка { ApplicationID "com.ebookfrenzy.buildexample.app.tablet" versionName "1.0-планшет" }} – Bhargavaroyal

ответ

0

Вы можете объявить 2 разные темы приложения в styles.xml так:

<style name="theme1"> 
    <item name="drawable1">@drawable/drawable1forTheme1</item> 
    // same for all your other drawables 
</style> 

<style name="theme2"> 
    <item name="drawable1">@drawable/drawable1forTheme2</item> 
    // same for all your other drawables 
</style> 

, а затем объявить все эти в attrs.xml вводимого коэффициента:

<attr name="drawable1" format="reference"/> 
// same for all your other drawables 

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

Например, в макете:

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="?attr/drawable1"/> 

Обратите внимание на которое говорит о том, что Android вытяжка должно быть загружена из атрибута, и этот атрибут вытяжки будет меняться в зависимости от заданной темы «атр /?».

+0

Спасибо ... Можете ли вы объяснить, в этой ситуации ... https: // разработчик. android.com/studio/build/build-variants.html в Configure Build Variants ... Каждый вариант сборки представляет собой diffe арендную версию вашего приложения, которую вы можете создать. Например, вам может потребоваться создать одну версию вашего приложения, бесплатную, с ограниченным набором контента и другую платную версию, которая включает в себя больше.Вы также можете создавать различные версии вашего приложения, предназначенные для разных устройств, на основе уровня API или других вариантов устройства ..... используя Gradle, а также – Bhargavaroyal

+0

Попробуйте проверить этот вопрос http://stackoverflow.com/questions/30279304/ хау в использовании-BUILD-типа Неотладочная-против-релиза в настройке-разные-стили-и-приложение-имена/30279350 # 30279350 – Luke