你好我再问一下我的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);?
答案 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>