2012-09-07 20 views
7

Kendi renkleri kullanarak FrameLayout sayfamın arkaplan rengini ayarlamaya çalışıyorum.android: Özel renkler nasıl kullanılır?

Kendi renklerim içeren bir .xml dosyası oluşturdum.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="red">#FF0000</color> 
    <color name="orange">#FF7D00</color> 
    <color name="yellow">#FFFF00</color> 
    <color name="green">#00FF00</color> 
    <color name="blue">#00B4FF</color> 
    <color name="black">#000000</color> 
</resources> 

Ve burada Im backgroundColor ayarlamaya çalışırken kod, ama app çalıştırdığınızda, FrameLayout neden ?:

FrameLayout MyFrameLayout = new FrameLayout(this); 
LayoutParams MyFrameLayoutParam = new LayoutParams(LayoutParams.FILL_PARENT, 200); 
MyFrameLayout.setLayoutParams(MyFrameLayoutParam); 

MyFrameLayout.setBackgroundColor(R.color.red); 

Parent.addView(MyFrameLayout); 

cevap

9

İhtiyacınız her zaman gridir: İşte burada Ayarlamadan önce kaynaklardan rengi almak için R.java kimliğini gerçek değeri değil.

Color red = getApplicationContext().getResources().getColor(R.color.red) 
MyFrameLayout.setBackgroundColor(red); 
+0

Sanırım R.id.red yerine R.color.red – vincentp

+0

Yup, iyi bulmak. – tsmith

0

Sen setBackgroundResource (Renkli) İşte

bir örnek kullanabilirsiniz:

android:color="@color/orange":

relativelayout.setBackgroundResource(R.color.green);

2

gibi bir şey kullanmak istiyorsunuz, xml özel renk kullanmak için

3

T Onun bir düğme arka planı yeşil yapar, istediğiniz renk altıgenini bulur.

yourButton.setBackgroundColor (Color.parseColor ("# 25b72f"));