2013-09-10 27 views
0

我道歉,如果這是我的一個明顯的錯誤,我是新來的Android開發..無法更改視圖上的背景顏色..?

從主要的.java代碼:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_colour); 
     View picker = (View) findViewById(R.id.picker); 
     picker.setBackgroundColor(0x00FF00); 
    } 

通常我不會有選擇器代碼在onCreate調用中,這只是爲了確保它被執行。

而選擇器視圖在我的活動佈局的.xml

<View 
      android:id="@+id/picker" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_above="@+id/red" 
      android:layout_marginBottom="10dp" /> 

定義從我讀過的東西,它似乎findViewById返回視圖的參考,所以我應該能夠撥打電話是會影響原始物體。據我所知,setBackgroundColor()方法看起來不是罪魁禍首,所以我搞亂了什麼?

+1

由於您正在測試嘗試爲您的視圖添加寬度和高度,例如100dp。如果你不指定drawable的話,android似乎會選擇0dp作爲默認大小。 –

+0

設置一個固定的200x200dp大小..我已經試過了,直接在xml文件中設置視圖的背景顏色。它看起來應該是我在eclipse中查看佈局視圖時的樣子,但是當我在AVD上啓動它時,它仍然顯示爲空白。 編輯:我設置了不同的背景顏色,顯然這個視圖並不存在..所以這是一個根本不顯示的問題。 –

回答

2

我想如果你沒有定義alpha,則假設爲00。嘗試專門設置它。

picker.setBackgroundColor(0xFF00FF00); 
+0

哦,我甚至沒有想過它可能會把它看作是argb。好電話,修好了!謝謝。 –