第二章:常用UI组件

2.8常用的简单Component
第二章:常用UI组件
布局文件里可以用属性设置相应组件的属性值;Java端也可以使用组件的方法设置。

2.8.1单位
dp(dip):device independent pixeis(设备独立像素),不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA,HVGA和QVGA推荐使用这个,不依赖像素。

px:pixels(像素),不同设备显示效果相同,一般我们HVGA代表320*480像素,这个用的比较多。

pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用。

sp:scaled pixels(放大像素):主要用于字体显示best for textsize.

2.9各个组件
2.9.1Button普通按钮

android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
ClickListener:单击

2.9.2ImageView图片视图
显示图片(html img)

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_foreground"//设置前景图片
android:background="@drawable/ic_launcher_background"//设置背景图片
//设置前景图片
public void setimageResource(int resid)
//设置背景图片
public void setBackgroundResource(int resid)

2.9.3CheckBox多选框

<CheckBox
android:id="@+id/cb_test1_basket"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="篮球"
android:checked="true"/>//标识默认是否勾选
//判断当前是否勾选
Doolean isChecked()
//设置CheckBox是否勾选
void setChecked(boolean checked)
//设置选中状态改变的监听
void setOnCheckedChangListenerOnCheckedChangeListenerlistener)

2.9.4RadioButton单选按钮(RadioGroup单选框)
注意:
1.必须放到一个按钮组当中
2.给RadioGroup设置改变的监听同CheckBox
3.选中某一项,显示出来

<RadioGroup
android:id="@+id/rg_test1_sex"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<RadioButton
android:id="@+id/rb_test1_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"/>

<RadioButton
android:id="@+id/rb_test1_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="女"/>
</RadioGroup>

2.9.5OptionMenu选项菜单
重写两个方法:
onCreateOptionsMenuon OptionsItemSelected;
添加菜单:
MenuItem

OptionMenu在点击手机的menu键触发

Activity:onCreateOptionsMenu(Menumenu)//显示OptionMenu的回调方法,在此方法中向Menu中添加MenuItem  

添加menuItem的两种方式
1.纯编码方式:menu.add(……)
2.加载menu文件的方式:
MenuInflater menuInflater=getMenuInflater();
menuInflater.inflate(R.menu.main_option,menu);

Activity:onOptionsItemSelected(MenuItem item)//当选择某个菜单项的回调方法

1.int groundId:菜单组ID
2.int itemId:菜单选项ID
3.int order:菜单选项I排序
4.CharSequence title:菜单标题

2.9.6ContextMenu上下文菜单

View:setOnCreateContextMenuListener(listener)//为某个视图添加创建ContextMenu的监听(需要长按触发)
Activity:onCreateContextMenu(menu,view,menuInfo)//显示菜单的回调方法
Activity:onContextItemSelected(MenuItem item)//当选择某个菜单项的回调方法
Avtivity:.registerForContextMenu()//将上下文菜单注册到某个组件上

2.9.7PopMenu弹出菜单
用于在某个组件上:PopupMenu men=new PopupMenu(MainActivity.this,btn);
//创建一个菜单选项文件
在res文件下创建菜单文件夹,菜单选项文件
//加载菜单文件
men.getMenuInflater().inflate(R.menu.pop_menu,men.getMenu());
//给弹出添加事件
men.setOnMenuItemClickListener(new PopupMenu OnMenuItemClickListener())
//显示弹出菜单
men.show();

上一篇:poj2965 The Pilots Brothers' Refrigerator 题解报告


下一篇:The Pilots Brothers' refrigerator