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

                            关于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);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值