Android:(容器和适配器)

       AdapterView为基类的一组组件。
       AdapterView都可动态生成一组View(可包含多个字View)

                 ViewGroup 
                     ↑
                 AdpaterView(相当于一个抽象基类,很少直接使用,通常使用它的子类)
            ↗          ↑           ↖
      AbsListView    AbsSpinner       AdapterViewAnimator(动画)
    ↗       ↖         ↑    ↖                 ↗        ↖            
ListView  GridView    Spinner  Gallery   AdapterViewFlipper   StackView

    这组控件有个共同的特征:它们都继承了ViewGroup(容器),它们都会显示多个组件,只是多个组件的组织形式不同。

    这组组件在用法上,几乎是相似的,都可通过如下方法来设置所包含的多个子组件:
      setAdapter(Adapter a);
    而Adapter就负责为上面的6个组件提供对应的子组件。


    Adapter是一个接口:

                Adpater
              ↗       ↖ 
       ListAdapter    SpinnerAdapter
             ↖        ↗
              BaseAdapter (抽象基类)
           ↗           ↑         ↖
      ArrayAdapter  CursorAdapter  SimpleAdapter
                        ↑ 
                  ResourceCursorAdapter
                        ↑ 
                  SimpleCursorAdapter

      BaseAdapter : 通常程序可通过继承BaseAdapter、并实现它的抽象方法来得到自己的Adapter
                  一共要实现4个抽象方法:
                getCount():该方法的返回值决定该Adapter将会包含多少个列表项。
                getItemId():该方法的返回值决定了每个列表项的id
                getItem(): 该方法的返回值决定了每个列表项的内容。其实很少重写。
                getView(int position, View convertView, ViewGroup parent):决定每个列表项是什么组件。

      ArrayAdapter:简单、易用的。 每个列表项只能是TextView
          最简单的Adapter。创建ArrayAdapter时需要3个参数。
                    ArrayAdapter的第1个参数是Context,
                    第2个参数代表了每个列表项的控件,
                    第3个参数控制要包含多少个列表项,
                    
              
      SimpleAdapter: 其实功能非常强大,其实不简单。
                  构造器参数:
                  第1个参数: Context
                  第2个参数: 数据 List<map<String,Object>> datas
                  第3个参数: xml资源文件 R.layout....
                  第4个参数: 控制从datas中取出哪些数据 与map中的 key一致
                  第5个参数: 布局文件的id  控制取出的数据要填充哪些界面元素。                   

       SimpleCursorAdapter:类似于SimpleAdapter。需要与数据库查询记录集合使用。
                  只不过SimpleAdapter的数据是一个集合元素为Map的List。
                  SimpleCursorAdapter的数据是一个Cursor

    容器:

      ListView:
        android:dividerHeight:设置分隔条的高度。
        android:divider:设置分隔条的颜色。

        ListView最简单的用法是指定entries属性。这种方式太简陋了,基本上无法定制列表项,所以用得
        特别少。
  
   
     GridView:相当于一个增强版的ListView。
               ListView相当于一个只有一列的GridView。

           它可指定如下属性:
            - numColumns:指定列数量。
            - columnWidth:指定列宽。
            - horizontalSpacing:指定列表项之间的水平间距。
            - verticalSpacing:指定列表项之间的垂直间距。

        
     Spinner :
          android:prompt:设置提示信息。 
          android:spinnerMode:设置spinner的模式。支持对话框或下拉列表模式。

     StackView:还是包含多个组件。多个组件重叠在一起。但会露出一截。

     AdapterViewFlipper: 还是可以包含多个组件。
            多个组件重叠在一起。
            程序可通过startFlipping():showNext()、showPrevious()来显示重叠的组件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javaGHui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值