Android : Изменение цвета фона Посмотреть OnClick кнопки

? Charlie @ | Original: StackOverFlow
---

Как я могу изменить фоновый цветView это под одной кнопки, когда я нажимаюbutton ? Я пыталсяselector не работает, потомуПросмотр не меняет цвет . В чем проблема?

Это мой код :

XML

    ...
          <View
            android:id="@+id/viewPlanos2"
            android:layout_width="match_parent"
            android:layout_height="3dp"
            android:layout_gravity="center" />

        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@color/transparente"
            android:drawableTop="@drawable/buttonimage"
            android:gravity="center"
            android:paddingTop="50dp" />

        <View
            android:id="@+id/viewPlanos1"
            android:layout_width="match_parent"
            android:layout_height="3dp"
            android:layout_gravity="center" />
 ...

JAVA

View linea2 = (View)findViewById(R.id.viewPlanos2);
linea2.setBackgroundColor(getResources().getColor(R.drawable.linea_verde));

linea_verde

<item android:state_pressed="true"><shape>
        <gradient android:angle="90" android:endColor="@color/azul" android:startColor="@color/azulOscuro" />
    </shape></item>
<item android:state_focused="true"><shape>
        <gradient android:angle="90" android:endColor="@color/azul" android:startColor="@color/azulOscuro" />
    </shape></item>
<item><shape>
        <solid android:color="@color/rojo" />
    </shape></item>

EDIT:

I have tried:

public void onClick(View v) {

    if(v == botonMetro) {

        linea2.setBackgroundResource(R.drawable.linea_verde);
                    and

        linea2.setBackgroundColor(getResources().getColor(R.drawable.linea_verde));
    }
}

Нокод не работает

---

Top 5 ответ

1Naveen Kumar @

Вы неправильно используя холст использовать эту один

 view.setBackgroundResource(R.drawable.linea_verde)
2milapTank @

как вы говорите, изменить цвет фона в целях этого под кнопкой, когда я нажимаю на кнопку

do like this

 button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

                  // change color of your view here  
           linea2.setBackgroundColor(getResources().getColor(R.drawable.linea_verde));

          }
    });
3FD_ @

setBackgroundColor() Только для цветов, но мне кажется, вы используете какое-либо государство -лист холст . Если вы уверены, что вы хотите использовать другой цвет в зависимости от Button Российское государство, установить государственный список Drawable с помощью этого кода :

view.setBackgroundDrawable(R.drawable.linea_verde);

В противном случае, просто установите цвет фона с помощью

view.setBackgroundColor(getResources().getColor(R.drawable.yourcolor);

Но в этом случае, используйте щелчок слушателя, а также убедитесь, что на самом деле использовать цветной ресурс, например:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="opaque_red">#f00</color>
    <color name="translucent_red">#80ff0000</color>
</resources>
4Bhavik Kamdar @

Вы также можете сделать так.

android:background="@drawable/linea_verde"