===========================第七章===========================
UI组件:
Android中的UI组件可分位4种模块:
1.UI组件;
2.布局管理器---盛放UI组件,布局管理器可以多重嵌套
常见的布局管理器:
1)线性布局:LinearLayout
2)相对布局: RelativeLayout
3)表格布局:TableLayout
4)帧布局 : FrameLayout
3.容器(Activity)
4.事件处理器
TextView用于显示文字
在代码中设置TextView的一些属性:
tv1.setBackgroundColor(Color.BLUE);----设置背景色
tv1.setTextColor(Color.WHITE);----设置文字颜色
tv1.setTextSize(25);----设置文字大小
tv1.getText();-----获取TextView显示的文字
在xml中设置属性:
android:singleLine="true" ----设置单行显示
android:text="abc" ----设置显示的文本内容
android:textStyle="italic|bold" ---设置字体加粗倾斜
Toast----土司通知/快显通知
使用方法:
Toast.makeText(context,text,duration);
--第一个参数---上下文对象(一般为Activity的实例)
--第二个参数---要弹出显示的文字内容
--第三个参数---显示的时间长短(Toast.Length_Long)
EdtitText---文本输入组件
常用属性:
android:singleLine="true"-- 设置单行显示
android:hint="请输入密码"--输入内容为空的时候显示的文字
android:textColorHint="#ff0000"--设置hint文字的颜色
android:textColorHighlight="#00ff00"--选中时的背景色
android:password="true"--显示的效果为密码
android:maxLength="8"--输入内容的长度
android:imeOptions="actionSearch"--回车键的功能
给EditText添加内容改变的监听:
1 et.addTextChangedListener(new TextWatcher() { 2 3 @Override 4 public void onTextChanged(CharSequence s, int start, int before, 5 int count) { 6 // TODO Auto-generated method stub 7 tv1.setText(s.toString()); 8 } 9 10 @Override 11 public void beforeTextChanged(CharSequence s, int start, int count, 12 int after) { 13 // TODO Auto-generated method stub 14 15 } 16 17 @Override 18 public void afterTextChanged(Editable s) { 19 // TODO Auto-generated method stub 20 21 } 22 });
OptionMenu---选项菜单
属性:
android:orderInCategory="3"--排序方式,数字越大越靠下,如果数字相同,按照声明顺序显示
android:title="文件"----当前条目的标题
android:showAsAction="always"---是否在ActionBar上显示
android:icon="@drawable/ic_launcher"---当前菜单选项的图标
添加选项菜单的方法:
1 public boolean onCreateOptionsMenu(Menu menu) { 2 // 通过菜单渲染器。为Activity添加菜单 3 getMenuInflater().inflate(R.menu.menu_main, menu); 4 return true; 5 }
为选项菜单中的条目添加监听:
1 public boolean onOptionsItemSelected(MenuItem item) { 2 // 获取到点击条目的id 3 int i = item.getItemId(); 4 // 根据id判断点击的是哪个条目 5 switch (i) { 6 case R.id.item1: 7 //事件的处理方法写到这里 8 break; 9 case R.id.item2: 10 //事件的处理方法写到这里 11 break; 12 case R.id.item3: 13 //事件的处理方法写到这里 14 break; 15 return true; 16 } 17 }
在xml中为选项菜单添加子菜单:
1 <item 2 android:id="@+id/item2" 3 android:orderInCategory="3" 4 android:showAsAction="always" 5 android:title="编辑"> 6 <menu> 7 <item android:title="哈哈哈"> 8 </item> 9 <item android:title="呵呵呵"> 10 </item> 11 <item android:title="嘿嘿嘿"> 12 </item> 13 </menu> 14 </item>