1、获取屏幕尺寸(高、宽)
Display display = getWindowManager().getDefaultDisplay();
display.getWidth()';//返回px值
display.getHeight();//返回px值
display.getRotation();//返回0或1,0表示竖屏,1表示横屏
2、设置界面不显示标题
以编程方式设置:
requestWindowFeature(Window.FEATURE_NO_TITLE);
在AndroidManifest.xml中设置全屏,以下代码写在<activity>中:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
3、使用应用程序上下文
Contextcontext = getApplicationContext();
由于Activity类时从Context派生而来的,因此,在Activity类中编写代码时,可直接使用this对象,而不用显式地获取应用程序上下文,例如:
Intentintent = new Intent(Main.this , activity.class);
Intentintent = new Intent(getApplication , activity.class);
4、获取应用程序资源
Stringstring = getResources().getString(R.string.hello);
5、访问应用程序首选项
要获取共享的应用程序首选项,可使用应用程序上下文的方法getSharedPreferences()。可以使用getSharedPreferences对象来存储简单的应用程序数据,如配置设置。可以给每个getSharedPreferences对象指定独特的名称一遍对首选项进行分类,或将所有首选项都存储在一个未命名的大型集合中。
例如,跟踪每位用户的姓名和一些简单的游戏状态信息,如用户是否有足够的金额继续玩下去。下面的代码创建一个名为GamePrefs的共享首选项集合,并在其中存储一些首选项:
//Context.MODE_PRIVATE设置共享机制为私有,仅应用程序内部访问
SharedPreferencessetting = getSharedPreferences("GamePrefs", Context.MODE_PRIVATE);
SharedPreferences.EditorprefEditor = setting.edit();
prefEditor.putString("UserName","小明");
prefEditor.putBoolean("HasCredits",true);
prefEditor.commit();
要获取首选项设置,只需要获取SharedPreferences并读取其中的值:
SharedPreferencesgettings = getSharedPreferences("GamePrefs", Context.MODE_PRIVATE);
StringuserName = gettings.getString("UserName", "如果要获取的值不存在,则返回这串字符");
6、使用意图传递信息
意图可用于在活动之间传递数据。要以这种方式使用意图,可在意图中包含额外的数据,这些数据被称为extra。Android编程约定是,在每项额外数据面前加上包名,如”com.singer.Five.NameOfExtra”:
Intent intent = newIntent(getApplicationContext() , Main.class);
intent.putExtra("com.singer.Five.NameOfExtra",23);
startActivityForResult(intent,0);
在传递到的activity中,通过getintent获取上述意图:
Intentintent2 = getIntent();
intt = intent2.getIntExtra("com.singer.Five.NameOfExtra", "如果要获取的值不存在,则返回这串字符");
7、获取资源
(1)、引用应用程序资源
要以编程方式访问应用程序资源,可使用自动生成的类文件R.java。要在您的Activity类中获取资源,必须使用方法getResources()获取应用程序的Resources对象,在根据要获取的资源类型调用合适的方法
例如要获取string.xml中定义的名为hello的字符串,可使用:
Stringstr = getResources().getString(R.string.hello);
(2)、使用系统资源
除了自己的私有资源外,应用程序还可以访问Android系统资源。这些标准资源是所有应用程序共享的,它们提供了统一的风格、其他模版以及常用的字符串和颜色。
系统资源存储在android.R包中。对于每种主要的资源类型,都有相应的类。例如android.R.string类包含系统字符串资源。要在activity类中获取名为ok的系统资源子if,首先需要使用Resources类的静态方法getSystem()来获取全局系统对象Resources,然后调用getString()方法,并给它传递合适的字符串资源名,例如:
String str =Resources.getSystem().getString(android.R.ok);
要在资源(如布局文件)中引用系统资源,可以使用如下格式:
@android:[资源类型]/[资源名称]
例如:
@android:string/ok
(3)、使用颜色
可以添加一个新的类型为value的XML文件用来存储颜色资源,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background_color">#006400</color>
<color name="app_text_color">#FFE4C4</color>
</resources>
Android系统支持12位和24为的RGB颜色,如图表:
格式 |
描述 |
示例 |
#RGB |
12位颜色 |
#00FF(蓝色) |
#ARGB |
包含透明度(alpha)值的12位颜色 |
#800F(透明度为50%的蓝色) |
#RRGGBB |
24位颜色 |
#FF00FF(洋红色) |
#AARRGGBB |
包含透明度值的24为颜色 |
#80FF00FF(透明度50%的洋红色) |
注意:颜色采用十六进制表示
下面在Activity类中使用getColor()方法获取颜色资源:
intcolor = getResources().getColor(R.color.app_text_color);
(4)、使用度量单位资源
方法相同,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name=" thumbDim">100px</dimen>
</resources>
在Activity中获取度量单位资源:
FloatthumbnailDim = getResources().getDimension(R.dimen.thumbDim);
8、使用Drawable资源
应用程序最常用的Drawable资源是位图图像文件,Android支持的图像格式有*.png(PNG)、*.9.png(PNG)、*.jpg(JPEG/JPG)、*.gif(GIF),其中最常用的也是首选格式应该为*.png(PNG)、*.9.png(PNG)。
图像资源被封装在BitmapDrawable类中,要在Activity类中访问图形资源文件,可使用如下方法:
BitmapDrawablebitmap = (BitmapDrawable)getResources().getDrawable(R.drawable.logo);
如果要将控件的source属性设置为相应的资源标识符,让该资源将显示在屏幕上,例如:
ImageView.setImagerResource(R.drawable.logo);
9、使用XML文件
要在活动类中以编程方式访问XML资源文件res/xml/default_values.xml,可使用Resources类的方法getXml(),如下所示:
XmlResourceParser xmlResourceParser= getResources().getXml(R.xml.default_values);
获取XML分析器对象后,便可以分析XML、提取合适的数据元素并以想要的方式使用。
10、使用原始文件
应用程序可将原始(raw)作为资源。应用程序可能使用的原始文件包括音频文件、视频文件以及您需要的其他任何格式的文件。所有的原始资源文件都应放在资源目录/res/raw中,并有唯一的名称(不包括扩展名,这意味着file1.txt和file1.dat将放生冲突)
要在您的活动类中以编程方式使用原始文件资源,只需要使用Resources类的方法openRawResource()。例如,下面的代码创建了一个InputStream对象,以便访问资源文件/res/raw/file1.txt:
InputStreaminputStream = getResources().openRawResource(R.raw.file1);
提示:有时候,您可能想在应用程序中包含文件,但有不将它们编译到应用程序资源中,为此,Android一共了一个特殊的目录——/assets,这个项目目录与目录/res位于同一级。包含在该目录中的任何文件都将作为二进制(binary)资源与应用程序安装包一起提供,它们不会被编译到应用程序中,对其使用方法如下:
InputStreaminputStream2 = getResources().getAssets().open("file1.txt");