您的位置:首页 > 其它

第四步:Menu事件、常用布局、RadioButton和CheckBox使用方法、Toast的使用方法

2013-01-12 17:09 323 查看
关于Menu事件

当用户点击Menu按钮时就会调用onCreateOptionsMenu(Menu menu);

就可以重写 public boolean onCreateOptionsMenu(Menu menu) {} 事件

例如:

public boolean onCreateOptionsMenu(Menu menu) {

//操作menu,添加菜单项

//第一个参数是 菜单所处的组ID

//第二个参数是 当前菜单的ID(类似于设定Item的下标)

//第三个参数是 是它的排序(暂时不懂)

//第四个参数是 按钮的TEXT

menu.add(0, 1, 1, R.string.exit);

menu.add(0, 2, 2, R.string.about);

return super.onCreatOptionsMenu(menu);

}

Menu事件:当用户点击Menu里面的项时会自动调用 onOptionsItemSelected(MenutItem item);

重写 public boolean onOptionsItemSeleted(MenuItem item){}事件

例如:(续上例子)

public boolean onOptionsItemSeleted(MenuItem item){

//获取用户点击的Item的ID然后执行相应的事件

if (item.getItemId() == 1){

finish();//结束当前Activity(上一章的内容)

}

return super.onOptionsItemSelected(item);

}

常用布局:android的XML布局类型类似于CSS布局一样 可以使用很多类似CSS的样式来进行布局

android字体大小单位用 pt,如android:textSize="35pt";距离用dip而不是用px,如android:padding="10dip"; //比px像素点的兼容性更好

padding--内边距 margin---外边距,若两个控件都设margin,则两个控件的距离是两个控件的margin值相加

绝对布局:

通常使用LinearLayout和TableLayout相互嵌套进行布局,要注意使用android:orientation="";//设置是水平还是垂直

常用的属性:

android:grivity //指定控件的位置,比如居中、靠右(注:拥有该属性的控件的内容的对齐方式)

android:sigleLine //如果为true,则控件的内容在同一行中显示

android:layout_weight="1" //这个属性很重要,在多层嵌套中,要设置这个属性,就是各占几分之几的意思

相对布局:

常用的属性:

基本单词:

above//上面

below//下面

left//左边

right//右边

以下属性用“ * ”代替上面这4个单词,基本每个属性都有这4个方向,故都差不多效果

//以下属性用在"相离关系"中,如A和B最近只能"相切"

android:layout_* //将拥有该属性的控件放到指定ID的控件的*面。 (注,此属性并不代表两个控件要要全贴在一起,只要有一点点的接触,既算满足该属性)

例如:A控件拥有该属性 --android:layout_above="@id/B"; 意思是,A控件在B的上面

基本单词:

Top//上面

Bottom//下面

Left//左边

Right//右边

同样,用" * "来代替这4个单词

//以下属性用在"包含关系"中,如A包含B;

android:layout_align* //将拥有该属性控件的边缘与指定ID控件的边缘对其 (注:此属性是两个控件若一样大小则平行贴在一起,一大一小则大的包含小的)

例如:A控件拥有该属性---android:layout_alignLeft="@id/B";意思是,A控件的左边缘和B控件的左边缘对齐

//下面这个属性,使用的单词和上一个一样

android:layout_alignParent* //如果该属性为true,则该控件和其父控件*对齐

例如:A控件拥有该属性---android:layout_alignLeft="true";意思是,A控件在父控件内的对齐方式是左对齐

基本单词:

Horizontal//水平

InParent//水平和垂直

Vertical//垂直

//使用" * "代替上面3个单词

android:layout_center* //若该属性为true,则该控件将被置于父控件的*中央

例如:A控件拥有该属性---android:layout_centerHorizontal="true";意思是,A控件被放置在父控件的水平中央出(水平居中)

RadioButton的使用方法:

在使用的时候,和其他控件一样,需要在XML中添加RadioButton;但是每一组RadioButton需要用RadioGroup隔开。

例如: 一组单选按钮--男&女

<RadioGroup

android:id="@+id/genderGroup"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical"//决定按钮的排列方式是水平还是居中

>

<RadioButton

android:id="@+id/femaleButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="女"

/>

<RadioButton

android:id="@+id/maleButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="男"

/>

<RadioGroup>

使用的时候跟其他控件一样,需要通过findViewById获得RadioGroup和其包含的所有RadioButton;

当绑定监听器的时候,则需要用到RadioGroup来绑定。如:

genderGroup = (RadioGroup)findViewById(R.id.genderGroup);

genderGroup.setOnCheckedChangeListener();

监听器的接口是:RadioGroup.onCheckedChangeListener{}

重写接口的方法以及相应用户的点击事件:

public void onCheckedChanged(RadioGroup group, int checkedId){

if (famaleButton.getId() == checkedId){

//相应“用户点击‘男’的按钮时”事件

}

else if (maleButton.getid() == checkedId){

//相应“用户点击'女'的按钮”事件

}

}

CheckBox的使用:

同样现在XML中布局:

<CheckBox

android:id="@+id/run"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="跑步"

/>

runBox = (CheckBox)findViewById(R.id.run);

事件绑定:runBox.setOnCheckedChangeListener();

监听器的类型:CompoundButton.OnCheckedChangeListener{}; //注,需要为每一个CheckBox重写一次相应事件,不知道存不存在响应一组CheckBox?以后在回过头来看

因为每个CheckBox都要重写一次,所以可以采用临时变量的方式来重写;

比如:

runBox.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener{

public void OnCheckedChanged(CompoundButton buttonView, boolean isChecked){

if (isChecked){

//响应“用户勾选了‘跑步’这个CheckBox”事件

}

else{

//用户没有勾选

}

}//End for OnCheckedChanged

}//End for CheckBox监听器的接口

); //End for 控件绑定监听器 记得不要漏掉“;”,最好是先打完setOnCheckedChangeListener();然后再在口号内打算new 接口,这样就不会漏掉了

Toast的使用方法//类似于面向对象写界面的Message,用户提示用户一些错误,好像不能添加按钮?以后在回来看

//第一个参数是 拥有该Toast的Activity,这里假设拥有该Toast的Activity叫"Test",Test.this代表Test这个Activity对象

//第二个参数是 该Toast里面的Text,既要显示的内容

//第三个参数是 显示的方式?or?一个常量,姑且这么用吧,以后弄明白了其他用法在回来看

Toast.makeText(Text.this, "你好", Toast.LENGTH_SHORT);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐