1、 安卓图片自适应
android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
2、 /*获取屏幕像素和屏幕密度*/
DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width=metrics.widthPixels;
int height=metrics.heightPixels;
float density=metrics.density;
int densityDpi=metrics.densityDpi;
3、 Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了
4、 读取电话薄
AndroidManifest.xml
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
java文件:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_contacts);
TextView tv = new TextView(this);
// TextView tv = (TextView) findViewById(R.id.textViewC1);
String string = "联系人如下:\n";
try {
// 得到ContentResolver对象
ContentResolver contentResolver = getContentResolver();
// 取得电话本中开始一项的光标
Cursor cursor = contentResolver.query(
ContactsContract.Contacts.CONTENT_URI, null, null, null,
null);
// 向下移动光标
while (cursor.moveToNext()) {
// 取得联系人名字
int nameFieldColumnIndex = cursor
.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contract = cursor.getString(nameFieldColumnIndex);
// 取得电话号码
int numberFieldColumnIndex = cursor
.getColumnIndex(PhoneLookup.NUMBER); String number =
cursor.getString(numberFieldColumnIndex);
string += contract + "\n";
}
cursor.close();
tv.setText(string);
setContentView(tv);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
}
5、 窗口切换public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_01);
Log.i(TAG, "onCreate");
Button button1 = (Button) findViewById(R.id.button11);
/* 监听button的事件信息 */
button1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// 新建一个Intent对象
Intent intent = new Intent();
// 指定Intent要启动的类
intent.setClass(Activity01.this, Activity02.class);
// 启动一个新的Activity
startActivity(intent);
// 关闭当前的Activity
Activity01.this.finish();
}
});
}
6、 android.intent.action.MAIN决定应用程序最先启动的Activity ,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。Main和LAUNCHER同时设定才有意义