如果我想切換一個TextView的知名度,我可以使用View.VISIBLE或View.INVISIBLEView.VISIBLE和正常整數使用的int之間有什麼區別?
按照Android Documentation,可見是0和不可見的是1
但是它不起作用,如果我使用setvisibility(0)
爲什麼View.VISIBLE工作,但不是0?
如果我想切換一個TextView的知名度,我可以使用View.VISIBLE或View.INVISIBLEView.VISIBLE和正常整數使用的int之間有什麼區別?
按照Android Documentation,可見是0和不可見的是1
但是它不起作用,如果我使用setvisibility(0)
爲什麼View.VISIBLE工作,但不是0?
檢查source code始終是Android的有效選項。有一兩件事是顯而易見的是,INVISIBLE
是不 1:
/**
* This view is visible. Use with {@link #setVisibility}.
*/
public static final int VISIBLE = 0x00000000;
/**
* This view is invisible, but it still takes up space for layout purposes.
* Use with {@link #setVisibility}.
*/
public static final int INVISIBLE = 0x00000004;
然而,VISIBLE
確實是0,所以用文字0應該工作。所有setVisibility()
確實是代表setFlags()
與您通過它的號碼和VISIBILITY_MASK
,這是0x0C(12)。
謝謝。我認爲它看起來像我讀錯了文檔。我認爲這些0,1,2值是用於xml文件的,而VISIBLE,INVISIBLE,GONE則是在代碼中使用它們的值。 – mrburns
這些int值可以隨時改變,這就是爲什麼你需要小心使用數字而不是枚舉類似的參數(我知道它不是一個枚舉......只是說)。
,如果你真的想知道背後的價值這些參數使用:
hello.setText(Integer.toString(View.INVISIBLE))
與你好是一個TextView。
在這種情況下,答案是4(.GONE
爲8)
它爲我......如果我使用setVisibility(0)項目獲得可見。 – Cristian
如果你的Android庫中的View.Visible爲0,這應該是不可能的。 –
setVisibility(1)也使其可見,但它應該是不可見的 – mrburns