进度条,TabHost,ViewFlipper、菜单

进度条:让用户了解进度:显示的一个进度
       android:max      数值的最大值
       android:progress   当前的进度
       style  设置进度条的形式。 一种是长条 一种是圆圈
         在java中有函数 setProgress   getProgress   获得进度和设置进度
  ProgressBar:圆圈进度
  SeekBar: 条形进度    seekBar是progressBar的之类
     seekBar是可以手动滑动的进度条
         android:thumb  可以设置滑块的样式  即添加图片
        seekbar变化监听是:
             seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()  {
               /**
               * 当进度停止的时候
               */
               @Override
               public void onStopTrackingTouch(SeekBar arg0) {
                    // TODO Auto-generated method stub

               }

               /**
               * 当进度开始的时候
               */
               @Override
               public void onStartTrackingTouch(SeekBar arg0) {
                    // TODO Auto-generated method stub

               }
               /**
               * 当进度改变的时候
               */
               @Override
               public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
                    // TODO Auto-generated method stub

               }
          });

  RatingBar: 星星进度 是seekBar和ProgressBar的扩展
       android:numStars  一个RatingBar一共有几颗,默认是5颗。
       android:rating   当前Rating有几颗星被点亮
       android:stepsize  每次添加能添加几颗
       android:isIndicator   设置该星级评分条是否允许用户改变

tabHost 选项卡,activity界面是一部分是选项卡,一部分为显示其他内容
          当Activity不是继承与TabActivity类,那么就需要调用
            TabHost.setup函数,
     构建选项卡视图,需要用到下列几个容器和部件
      *、 TabHost(容器)、用于容纳选项卡按钮和选项卡内容
      *、TabWidget用于容纳选项卡按钮,每个按钮由文本标签及可选的图标组成。
              必须将TabWidget的android:id  设置的时候必须是 @android:id/tabs
              如果activity是继承了TabActivity的类,则TabHost的id必须是 @android:id
           newTabSpec(String tag) 创建选项卡
        addTab(TabHost.TabSpec tabspec)添加选项卡
      *、FrameLayout用于容纳选项卡内容,每块内容都是FrameLayout的一个子类

           eg:
             setContentView(R.layout.activity_main);
          tabHost=getTabHost();
          tabHost.addTab(tabHost.newTabSpec("student")//创建新的选项卡
                    .setIndicator("学生信息").//设置选项卡的显示信息
                    setContent(R.id.tab1));//关联到每个选项卡的id
          tabHost.addTab(tabHost.newTabSpec("enter")
                    .setIndicator("登陆").
                    setContent(R.id.tab2));
     }

ViewFlipper 是继承与Framelayout ,开始的时候只会显示一个子视图,可让用户通过交互操作视图,
    也可以通过定时器来翻转视图,
       先建立ViewFlipper
         在viewFlipper中添加控件,每个空间只能显示一个子视图
                 在触发事件中只用viewFlipper中的shownext方法即可

菜单:
   选项菜单:
       1、选项菜单的概念
           *、通过按下设备上的Menu按钮来触发
          *、一般用于针对整个界面的选项操作
       2、选项菜单的创建
         *、创建,在Activity下有一个方法onCreateOptionsMenu()方法
         可以创建选项才当项,
         /**
     * 这个方法在activity被创建时被调用一次,
     */
            @Override
     public boolean onCreateOptionsMenu(Menu menu) {
          // 解析xml中定义的菜单
          getMenuInflater().inflate(R.menu.main, menu);
          //添加菜单,四个参数
          menu.add( Menu.NONE(没有分组)//菜单组的id
                 0x0001//菜单的id
                 1//每个菜单在整个菜单的位置,
                 “你”//菜单的标签);
          return true;
     }
       3、选项菜单的事件相应
           *、这个方法接受一个MenuItem实例,代表被选中的item
           getItemId获得被选中的Item的id
                  /**
     * 选项菜单的响应函数
     用switch判断是那个item被点击
     */
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
          switch (item.getItemId()) {
          case R.id.action_settings:

               break;

          default:
               break;
          }
          // TODO Auto-generated method stub
          return super.onOptionsItemSelected(item);
     }
       4、菜单的动态修改
         *、调用方法,这个方法每次启用选项菜单都会调用一次
          @Override
              public boolean onPrepareOptionsMenu(Menu menu) {
              // TODO Auto-generated method stub
               menu.add(Menu.none,0x0004,4,"删除");
                  return super.onPrepareOptionsMenu(menu);
                }
         *、对参数menu进行相应操作,注意id的设置和获取
           1、add方法添加item
           2、finditem方法查找item
           3、removieitem 方法删除item
       5、XML设置方式
              *、菜单的XML文件在res/menu目录中
           *、使用的时候R.menu.你菜单的id
         建立:
           *<menu>代表一个跟元素
           *、<item>代表一个MenuItem,即菜单下的一个选项
           *、<item>属性:
                  id:item的id,索引
               title:选项的标签,文字显示
               icon:item的图标,有些的系统不会显示,
               orderInCategory:次序,在item中显示的次序

   上下文菜单:和选项菜单类似,就是函数名字不一样
       概念:用手指按住某个带有上下文菜单的控件不放,就会显示上下文菜单,
             一般用于针对某个界面元素的扩展操作。

     1、首先要告诉系统那些控件要关联上下文菜单
           registerForContextMenu(要添加上下文菜单的控件)
     2、复写onCreateContextMenu方法
          *、与option不同每次唤醒菜单是才调用
          *、通过参数id,对菜单做出响应操作。
     3、复写onContextItemSelected方法
             对用户的操作做出响应

菜单的高级特性:
  次级菜单:
    菜单里的子菜单项,:
         *:设置、
            1、可以在xml中加入menu标签来实现次级菜单
            2、也可以通过addSubMenu方法加入次级菜单
                     addsubmenu方法返回一个submenu对象。
               可以对submenu对象进行操作add,remove来修改二级菜单item
  菜单组:
     1、把若干个item放到一个组里,这些item可以共享一些特性
             setGroupVisiable设置组下的item是否可见
          setGroupEnabled设置组下item是不是可用
          setGroupCheckedable组下是不是能被选中
        *、不会影响原来界面 代码逻辑

        *|设置;在Java中若设置一组则,add方法中的第一个参数应该一样
                  menu.add(1,01,1,"tian");
               menu.add(1,02,3,"song");
             在xml中使用group标签包裹起来
               <group
                       android:id="@+id/group">
                            <item
                              android:id="@+id/action_settings"
                               android:orderInCategory="1"
                               android:showAsAction="never"
                               android:title="@string/action_settings"/>
                             <item
                                android:id="@+id/item1"
                                android:title="wo "
                                android:orderInCategory="10"></item>
                        </group>

  使用checkable的item:
      *、一个菜单的item可以表示为可选和不可选
            使用组的android:checkableBehavior属性
      *、一组item的checkable可能存在多种可能,
             不支持check动作,
          单选(radio burrons的行为)
          复选(checkbox的行为)
         设置、  在xml中的group标签中添加android;checkableBehavior属性
                   android:checkableBehavior="single" 单选
                android:checkableBehavior="all"复选
          menu控件本身点击后不会修改状态,需要手动设置
                  if(item.isChecked()==false){
                   item.setChecked(true);
                   }else{
                   item.setChecked(false);
                   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值