2012-10-15 30 views
1

最近我發現layout aliasesAndroid:別名可以用於樣式(類似於佈局別名)嗎?

樣式是否存在相同的事物?例如,如果my_page.xml使用normal_style,我可以設置別名,以便當設備有一個xlarge屏幕時,使用xlarge_style代替(沒有我不得不復制my_page.xml)?

+0

那麼,理想情況下,你首先不會有'normal_style'和'xlarge_style'。你有'my_style',有兩個定義,一個在'res/values /'中,一個在'res/values-xlarge /'中。這樣,'my_page.xml'將引用'my_style',Android會根據屏幕大小選擇正確的'my_style'實現。 – CommonsWare

+0

這就是我一直在尋找的。那麼我會在'res/values-xlarge'中完成'res/values /'中的兩個'styles.xml'文件嗎? – Felix

+1

「所以我會有兩個styles.xml文件,一個在res/values /一個在res/values-xlarge中完成的?」 - 是的。每個都會定義一個具有相同名稱的樣式(例如'MyStyle')。當您在其他地方(例如,從小部件)引用該樣式時,Android會根據屏幕大小選擇合適的樣式。 – CommonsWare

回答

2

答:

有兩臺styles.xml文件,一個res/values/下,一個res/values-xlarge/下。每個styles.xml文件定義一個具有相同名稱的樣式(例如:MyStyle)。然後,Android根據屏幕大小選擇合適的樣式。

1

你可以這樣做:

<style name="alias" parent="original"></style> 

這應該做讓具有不同的名稱,但相同的屬性與原始一個新的樣式。從@CommonsWare評論

+0

我意識到這一點,但那不是我正在尋找:)感謝您花時間回答! – Felix