您的位置:首页 > 其它

更改手机窗口画面底色-----drawable定义颜色常数的方法

2010-12-13 15:52 549 查看
SDK默认的窗口底色是“深黑色”,要更改Activity里的窗口底色有许多方法,最简单的就是将颜色色码事先定义在drawable当中,当程序onCreate创建的同时,加载预先定义的画面颜色。

在这个例子中,现在drawable里指定Layout的背景色(BackRround)为白色。

程序运行的结果



程序:

1、ex03_03/res/values/ 下创建color.xml文件,如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<drawable name="darkgray">#808080FF </drawable>
<drawable name="white">#FFFFFFFF</drawable>
</resources>


2、ex03_03/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ex03_03!</string>
<string name="str_id">Hello World, ex03_03!</string>
<string name="str_pwd">欢迎 ,学习中!</string>
<string name="app_name">ex03_03</string>
</resources>

3、ex03_03/src/irdc.ex03_03/ex03_03.java

package irdc.ex03_03;

import android.app.Activity;
import android.os.Bundle;

public class ex03_03 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

4、ex03_03/res/layout/main.xml

在页面布局上使用了两个TextView对象,以及2个EditText对象

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white" /*改变程序的背景色*/
>
<TextView
android:id="@+id/widget28"
android:layout_marginLeft="61px"
android:layout_marginTop="69px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@drawable/darkgray"/*指定字体的颜色*/
android:text="@string/str_id"
/>
<TextView
android:id="@+id/widget29"
android:layout_marginLeft="61px"
android:layout_marginTop="69px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_pwd"
android:textColor="@drawable/darkgray" > /*指定字体的颜色*/

</TextView>
<EditText
android:id="@+id/widget30"
android:layout_width="120dip"
android:layout_height="wrap_content"
android:textSize="18sp"
android:password="true"
android:layout_marginLeft="80px"
android:layout_marginTop="80px">
</EditText>
</LinearLayout>

另外,如果要在程序中通过修改程序来随时改变底色,可参考下列语句,下面语句的作用是改变widget28的底色。

//add by christina 20101213 start
Resources resources=getBaseContext().getResources();
Drawable HippoDrawable=resources.getDrawable(R.drawable.white);
TextView tv=(TextView)findViewById(R.id.widget28);
tv.setBackgroundDrawable(HippoDrawable);
//add by christina 20101213 end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: