Android將爲res/drawable目錄中的每個圖片分配id。他們在哪? 我想動態選擇一個圖片形式的池並顯示它。我怎樣才能做到這一點?資源的ID在哪裏?
0
A
回答
0
它們存儲在res/drawable文件夾中。
如果文件名demo.png,那麼他們可以通過R.drawable.demo
如果您要訪問一個隨機的繪製,所有的資源標識符存儲在一個整數的ArrayList和編程生成訪問一個使用Random()的隨機函數,並從數組列表中獲取該特定項目。然後你每次都會有一個隨機抽獎。
0
自動生成的ID位於gen文件中,但不建議使用它們。直接通過一些預定義的R.drawable.filename數組來使用文件名並隨機選擇它們會更好。
0
有些ID存儲在R.java文件中,但無法對其進行編輯,因爲每次更改都會被寫入。
您還可以通過名稱訪問資源,如果知道資源的名稱或者可以根據某種預定義的命名方案派生它們,這可能是解決問題的可行方法。 (例如圖像序列image1
,image2
等在命名。
你必須使用Resources
類的getIdentifier()方法映射的名稱標識符。
String name = "resource" + rng.nextInt(count);
int resource = getResources().getIdentifier(name, "drawable", "com.package");
此方法的文檔說:
注意:使用此功能時 氣餒這是更有效的 通過標識檢索資源比名稱。
這是事實,但如果您在代碼中執行的操作不是性能敏感的,則不必成爲問題。
或者,如果您不介意以XML格式列出資源,則可以創建a typed array,然後您可以從中隨意選擇。
相關問題
- 1. 我在哪裏獲取片段容器的資源ID?
- 2. 去哪裏投入資源?
- 3. 我的資源隱藏在哪裏?
- 4. 我的資源文件在哪裏
- 5. Golang - 應該在哪裏資源保持
- 6. android:在哪裏分配圖像資源?
- 7. 非託管資源分配在哪裏
- 8. Direct3D11在哪裏分配資源對象?
- 9. jsdom下載資源在哪裏?
- 10. VS2012 Xaml Designer:資源視圖在哪裏?
- 11. EF中的資源Template_GeneratedCodeCommentLine1來自哪裏?
- 12. 資源編輯器中的Dll資源:它們來自哪裏?
- 13. Java WebStart資源下載到哪裏?
- 14. 這個$資源變量來自哪裏?
- 15. 資源去哪裏java.getresource()命令?
- 16. 資源$ NotFoundException:資源ID#0x7f08005e
- 17. 子事務ID使用哪些資源?
- 18. 無法找到資源ID。哪一個?
- 19. Android Studio:我必須在哪裏放置資產和資源?
- 20. ActiveDirectoryMembershipProvider源在哪裏
- 21. 如何/在哪裏啓用CORS(跨源資源共享)?
- 22. 資源文件在Spring Roo中的物理位置在哪裏?
- 23. 在GWT中將ClientBundle的資源放在哪裏?
- 24. 我在哪裏把我的本地資源在MVC項目中?
- 25. org.classpath.icedtea.pulseaudio。*的來源在哪裏?
- 26. mysqlclient.lib的來源在哪裏?
- 27. HttpContext.Current.Request.Url.Host的來源在哪裏?
- 28. fileuploader.swf的來源在哪裏?
- 29. Android:Howto獲取Android資源的資源ID
- 30. 的Android資源$ NotFoundException:資源ID#0x7f020052
如果我列出佈局XML中的所有圖片,所有圖片都會顯示出來。 – Gabriel
好吧,是的。這纔是重點。有問題嗎? –
我想要做的是通過GridView選擇一張圖片,然後在活動2中顯示所選圖片。我的想法是使用攜帶所選圖片索引的意圖,然後使用索引來確定應該在哪個圖片中顯示活動2.這種方式能工作嗎?如果我列出佈局XML中的所有圖片,它們都會在程序運行時顯示出來。但我只想看看我在畫廊中選擇的那個。 – Gabriel