我知道這是一個簡單的問題,所以希望它不會對任何人造成麻煩。XML和Java之間的常量值
我怎樣才能在我的項目中有一個固定的float值,我可以從View
的XML和.java文件中訪問?
我試過設置在我View
的資源文件的浮點值這樣:
<attr name="cornerRadius" format="float">15.0dp</attr>
我認爲這就是它應該怎麼做,但我只是用直覺做的。我真的很難在這個問題上的谷歌。
現在,在Java中訪問它,我已經試過這樣:
float myFloat = getContext().obtainStyledAttributes(attrs, R.styleable.MyView).getFloat(R.styleable.MyView_cornerRadius, 0.0f);
這是我扔了,因爲它沒有得到正確的值,而是我通過在函數的值。爲什麼我將float值傳遞給這個函數?必須有不同的選擇。
現在,其中最大的問題是我在XML訪問它。我已經試過這樣:
<corners android:radius="@attrs_my_view/cornerRadius"/>
我也試過這樣:
<corners android:radius="@float/cornerRadius"/>
,但無濟於事。
也許這一切都是完全錯誤的,但我不知道如何在谷歌搜索這個,因爲我不知道它叫什麼。它就像根據其含義在字典中查找單詞。它不是一個好時機。
有關定義自定義屬性的信息,請參閱http://stackoverflow.com/questions/3441396/defining-custom-attrs。我希望這有幫助。 –
@代碼大師是的!這是非常有用的,儘管如此,我仍然被TypedArray中的getFloat(int,float)方法拋出。 – RileyE
對於它的價值,我發現通過谷歌搜索「attr android」鏈接。谷歌搜索不必很複雜;-)如果您需要進一步澄清,也可以隨意編輯您的問題或發佈一個新的問題。 –