Android应用程序背景颜色按钮

时间:2013-03-02 04:17:38

标签: java android button

你好我再问一下我的hello world app 我想在按下A按钮时更改背景,所以我这样做了:

    public void onclick01(View View)  
       {  
           View.setBackgroundColor(Color.GREEN);

       } 

但是这会改变按钮的背景颜色而不是整个应用程序。


修改

我还有两个问题。

1)我将如何设置

View.setBackgroundColor(Color.GREEN);

类似于:

View.setBackgroundColor(Color.RANDOM);

2)我如何改变文字颜色呢? 类似的东西:

View.setTextColor(Color.GREEN);?

6 个答案:

答案 0 :(得分:1)

<强> main_act.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button" />

</LinearLayout>

<强>活性

public class MainActivity extends Activity {
/** Called when the activity is first created. */
Button b1;
LinearLayout layout;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_act);
    layout=(LinearLayout)findViewById(R.id.layout);
    blueButton=(Button)findViewById(R.id.b1);
    b1.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
        // TODO Auto-generated method stub
        layout.setBackgroundColor(Color.BLUE);

    }
});
}
}

答案 1 :(得分:0)

如果要通过xml进行设置,则需要执行以下操作:

   android:background="@android:color/green"

如果你决定使用android的默认颜色代码或者你在colors.xml中指定了颜色,那么使用

    android:background="@colors/green"

如果您想以编程方式执行,请执行以下操作:

     LinearLayout linearlayout=(LinearLayout) findViewById(R.layout.yourlayout);
     linearlayout.setBackgroundColor(Color.GREEN);

答案 2 :(得分:0)

此处查看引用按钮的视图。因此,您需要为父布局创建对象

layout.setBackgroundColor(Color.GREEN);

答案 3 :(得分:0)

public void setActivityBackgroundColor(int color) {
 view = this.getWindow().getDecorView();
 view.setBackgroundColor(color);
}

然后从您的OnClickListener中调用它,传入您想要的任何颜色。

答案 4 :(得分:0)

你应该在这种情况下使用xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:state_pressed="true">
    <shape android:shape="rectangle">
       <solid android:color="yourColor"/>
    </shape>
</item>

<item>
    <shape android:shape="rectangle">
        <solid android:color="yourColor"/>
    </shape>
</item>

</selector>

答案 5 :(得分:0)

使用Selector您将按下按钮操作。

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:drawable="@drawable/button_background" android:state_pressed="false"/>
 <!-- default -->
 <item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
 <!-- pressed -->
</selector>