2016-09-23 61 views
-2
  1. 場景: 我有一個場景,我必須構建一個apk,其中有兩組主題和drawable。

我們是否可以在android中適應這種情況,以便apk在編譯期間必須選擇不同的主題和drawable。根據一些條件如下請求關於android主題的指導

集1

集2

主題 (黑版) 在res文件夾 文件夾名稱:可繪製 Image1.png Image2.Png Image3.Png Image4.Png

主題 (光版) 在Res文件夾中 Folder nam E:可繪製 Image1.png Image2.Png Image3.Png Image4.Png

注:在組1和組2倍中的可拉伸的圖像是不同的,但與相同的名稱。這是一套圖像11是一套2

從圖像1不同請指導我有關,我不得不選擇提前

感謝的方式。

+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

可以在styles.xml申報2周不同的應用程序的主題,像這樣:

<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可提拉應該從一個屬性被加載,並且該可拉伸屬性將根據設定的主題改變「ATTR /?」。

+0

...你能在這種情況下... HTTPS解釋://開發商。配置構建變體中的android.com/studio/build/build-variants.html ...每個構建變體都代表不同您可以構建的應用的租賃版本。例如,您可能想要構建一個免費的應用程序版本,只包含一組有限的內容,另一個包含更多的付費版本。您還可以根據API級別或其他設備變體構建針對不同設備的不同版本的應用程序.....使用Gradle以及 – Bhargavaroyal

+0

嘗試檢出這個問題 http://stackoverflow.com/questions/30279304/如何使用的建造類型調試-VS-發佈到設置不同的樣式和-APP-名/ 30279350#30279350 – Luke