Android中activity背景色的设置

主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格。在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:


  1. android:theme="@android:style/Theme.Dialog"   将一个Activity显示为能话框模式    
  2. android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏    
  3. android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏    
  4. android:theme="Theme.Light"  背景为白色    
  5. android:theme="Theme.Light.NoTitleBar"  白色背景并无标题栏     
  6. android:theme="Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏    
  7. android:theme="Theme.Black"  背景黑色    
  8. android:theme="Theme.Black.NoTitleBar"  黑色背景并无标题栏    
  9. android:theme="Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏    
  10. android:theme="Theme.Wallpaper"  用系统桌面为应用程序背景    
  11. android:theme="Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏    
  12. android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen"用系统桌面为应用程序背景,无标题栏,全屏    
  13. android:theme="Translucent"  半透明    
  14. android:theme="Theme.Translucent.NoTitleBar" 半透明、无标题栏    
  15. android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 半透明、无标题栏、全屏    
  16. android:theme="Theme.Panel"    
  17. android:theme="Theme.Light.Panel"    

这些主题可以应用到整个应用Application范围或者某个活动Activity范围中。

应用Application范围:在AndroidManifest.xml中的application节点中设置theme属性,主题theme应用到整个应用程序中。

  1. <application  
  2.     Android:icon="@drawable/icon"  
  3.     Android:icon="@string/app_name"  
  4.     Android:icon="@android:style/Theme.Black.NoTitleBar">  


活动Activity范围:

使用java代码或者在AndroidManifest.xml中对活动Activity的主题进行设置,主题仅应用到当前活动中。在AndroidMainifest.xml设置方法:(XML中代码间不能有空格,注意中英文引号)

  1. <activity  
  2. android:name=".About"  
  3. android:label="@string/app_name"  
  4. android:theme="@android:style/Theme.Black.NoTitleBar" >  

使用java代码进行设置,在当前活动Activity的onCreate中进行设置:

[java] view plaincopyprint?
@Override  
public void onCreate(Bundle savedInstanceState){  
super.onCreate(savedInstanceState);  
setTheme(android.R.style.Theme_Translucent_NoTitleBar);  
setContentView(R.layout.main);  
}  



背景颜色还可以在布局XML中设置:

<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="#ffffff">


直接设置Activity的背景颜色

一般我们都是使用布局文件直接加载到Activity,从而覆盖了Activity的颜色。这里没有加载布局文件(没有用R.layout.main)
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Resources res = getResources();
        Drawable drawable = res.getDrawable(R.drawable.bkcolor);
        this.getWindow().setBackgroundDrawable(drawable);
    }
}

需要注意的是  需要在value目录下的string.xml文件中加入一段代码,如下
<drawable name="bkcolor">#ff00ff</drawable>



posted @ 2014-05-11 00:56  IT专业户  阅读(2730)  评论(0编辑  收藏  举报