xmlns:android的作用
xmlns:android是一个XML命名空间,告诉 Android开发工具你准备使用Android命名空间里的一些通用属性。在所有Android XML设计文件中最外层的标记必须使用这个树形。
它可以提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件。或者语法判断器什么的。
-----------------------------------------------------------------
Android程序开发的基本框架研究了一个礼拜的android,算是基本搞清了它的开发框架,我是做j2me开发的,所以时不时的会把它和j2me做比较,比如:高级界面,低级界面...
--------------------------------------------------------
最简单的Android ListView
list_item.xml
xmlns:android是一个XML命名空间,告诉 Android开发工具你准备使用Android命名空间里的一些通用属性。在所有Android XML设计文件中最外层的标记必须使用这个树形。
它可以提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件。或者语法判断器什么的。
01
02
03
04
05
06
07
08
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<TextView xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/text"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center_vertical|center_horizontal"
android:text=
"translucent_background"
/>
|
01
02
03
04
05
06
07
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<manifest xmlns:android=
"http://schemas.android.com/apk/res/android"
package
=
"org.com.fblife"
android:versionCode=
"1"
android:versionName=
"1.0"
>
......
</manifest>
|
-----------------------------------------------------------------
Android程序开发的基本框架研究了一个礼拜的android,算是基本搞清了它的开发框架,我是做j2me开发的,所以时不时的会把它和j2me做比较,比如:高级界面,低级界面...
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
public
class
App
extends
Activity {
public
App () {
// 构造函数不用说了
}
public
void
onCreate(Bundle savedInstanceState) {
// 界面初始化的时候调用
super
.onCreate(savedInstanceState);
setContentView(R.layout.skeleton_activity);
// 显示布局界面,xml有定义,指高级界面。
// setContentView(new MyView(this)); // 显示布局界面,指低级界面,MyView它是内部类,后面有介绍。
// 以下是其他数据初始化
......
}
public
boolean
onCreateOptionsMenu(Menu menu) {
// 初始化Menu菜单选择项
super
.onCreateOptionsMenu(menu);
//添加菜单项,比如:
menu.add(
0
, OK_ID,
0
, R.string.ok).setShortcut(
'2'
,
'v'
);
// 设置快捷键
//添加其他菜单项。。。。。。
return
true
;
}
public
boolean
onPrepareOptionsMenu(Menu menu) {
//
super
.onPrepareOptionsMenu(menu);
//这里可以事先设置菜单的可见性,如果都可见,可以不设置
menu.findItem(OK_ID).setVisible(
true
);
//设置菜单项可见性
return
true
;
}
public
boolean
onOptionsItemSelected(MenuItem item) {
//选择了一个菜单项的时候调用
//这里可以预先处理想要的变量
switch
(item.getItemId()) {
case
BACK_ID:
//一项一项的处理想要做的,不用我介绍了吧
return
true
;
.............
}
return
super
.onOptionsItemSelected(item);
}
//以下是内部类MyView,如果你用的是高级界面(基于xml),此类可以不要;如果是低级界面嘛,你说呢?
public
class
MyView
extends
View(){
public
MyView(Context c){
super
(c);
//初始化其他东西。。。。。
}
protected
void
onSizeChanged(
int
w,
int
h,
int
oldw,
int
oldh) {
//不常用,可不写。
super
.onSizeChanged(w, h, oldw, oldh);
}
protected
void
onDraw(Canvas canvas) {
//几乎必需写
canvas.drawXXX();
//invalidate();//如果有动画,则必需加上。
}
public
boolean
onTouchEvent(MotionEvent event) {
//触摸前做点什么
switch
(event.getAction()) {
case
MotionEvent.ACTION_DOWN:
invalidate();
//如果要动画或刷新,则加上这句;通常这里好像都要加上的;下同
break
;
case
MotionEvent.ACTION_MOVE:
invalidate();
break
;
case
MotionEvent.ACTION_UP:
invalidate();
break
;
}
return
true
;
}
}
}
}
|
--------------------------------------------------------
最简单的Android ListView
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
package
com.epoint.listview;
import
android.app.ListActivity;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.ArrayAdapter;
import
android.widget.ListView;
import
android.widget.TextView;
import
android.widget.Toast;
import
android.widget.AdapterView.OnItemClickListener;
public
class
Main
extends
ListActivity {
/**
* 注意本程序没有按通常的写法为Activity加载一个布局文件,
* 而是通过setListAdapter(adapter)自动添加一个ListView填充整个ListActivity
*
*/
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setTitle(
"最简单的ListView"
);
String[] numbers =
new
String[] {
"Zero"
,
"First"
,
"Scound"
,
"Three"
,
"Four"
,
"Five"
,
"Six"
,
"Seven"
,
"Seven"
,
"Seven"
};
/**
* 第一个参数:当前的上下文
* 第二个参数:每个列表项的布局文件
* 第三个参数:参数
* Tip:你可以使用android.R.layout.simple_list_item_1代替R.layout.list_item,改变ListView显示的样式
*/
ArrayAdapter<String> adapter =
new
ArrayAdapter<String>(
this
,
R.layout.list_item, numbers);
setListAdapter(adapter);
// 将adapter放入ListView中
ListView listview = getListView();
/**
* The setTextFilterEnabled(boolean) method turns on text filtering for
* the ListView, so that when the user begins typing, the list will be
* filtered.不太明白什么意思?
*/
listview.setTextFilterEnabled(
true
);
// 设置ListView的监听事件
listview.setOnItemClickListener(
new
OnItemClickListener() {
public
void
onItemClick(AdapterView<?> parent, View view,
int
position,
long
id) {
String s = ((TextView) view).getText().toString();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT)
.show();
}
});
}
}
|
list_item.xml
01
02
03
04
05
06
07
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<TextView xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
android:padding=
"10dp"
android:textSize=
"16sp"
/>
|