美文网首页Android开发Android开发经验谈
Android回顾--(四) 布局加载器

Android回顾--(四) 布局加载器

作者: 一只胖胖胖胖猿 | 来源:发表于2018-07-23 20:16 被阅读6次

    布局加载器

    1、什么是布局加载器?

    布局加载器就是用来记载布局的类,作用就是将我们的布局文件转换成能够肉眼看懂的视图View。

    2、布局加载器器该怎么是使用

    //首先:获取当前的布局加载器的对象
    //第一种:面向对象的写法
    LayoutInfalter inflater = getLayoutInflater();
    //第二种:通过获取系统的服务来获取布局加载器的对象
    LayoutInfalter inflater2=(LayoutInfalter)getSystemService(LAYOUT_INFLATER_SERVICE);
    //第三种:通过某一个上下文的对象来获取布局加载器的对象
    LayoutInflater inflater3 = LayoutInflater.from(getApplicationContext());
    //其次:通过布局加载器的inflate()方法来加载当前的布局文件
    View view =inflater.inflate(R.layout.inflate_layout,null);
    //最后,根据布局加载器获取到的视图View进行一些视图操作
    

    Spinner(下拉列表)的使用

      方法一、在String.xml中声明列表中的数组

    <string-array name="strArr">
            <item>中国</item>
            <item>小日本</item>
            <item>美国佬</item>
            <item>欧洲佬</item>
            <item>印度阿三</item>
        </string-array>
    

    在Spinner列表的控件中使用android:entries来引用刚刚设置好的数据源进行适配,对应的布局文件如下

      <Spinner
                     android:id="@+id/editRegion"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:entries="@+array/region"/>
    

      方法二、在JAVA的代码中通过适配器来设置数据
    第二种方法相对于第一种方法不易维护,所以一般都使用的第一种。

    获取下俩列表选中的值:spinner.getSelecteditem().toSttring();
    设置选中值

     SpinnerAdapter apsAdapter= spinner.getAdapter();
           int k= apsAdapter.getCount();
           for(int i=0;i<k;i++){
               if("hhh".equals(apsAdapter.getItem(i).toString())){
                spinner.setSelection(i,true);
                   break;
               }
           }
    

    适配器

    1、什么是适配器

     适配器简单点说就是连接布局模板和数据源以及目标控件的桥梁,通过适配器可以将数据适配显示带目标控件上。其优点就是可以一次添加多条数据到目标控件

    2、ArrayAdapter

     ArrayAdapter的几种获取对象的方法。
       a、 ArrayAdapter adapter=new ArrayAdapter<T>(context,textViewResourceId);
          第一个参数是;上下文
          第二个参数是:模板id
    注意:这个模板的根目录只能是 TextView 可以给定id也可以不给定id这种方式下需要通过adapter.add()或者 adapter.addAll()来添加数据
       b、 ArrayAdapter adapter=new ArrayAdapter(context, resource, textViewResourceId);
          重点是resource:这里的这个是模板的id
    注意:这里的TextView可以是布局文件下面的这种方法来添加数据的话那么也需要add()或者addAll()来添加数据源
       c、 ArrayAdapter adapter= ArrayAdapter(context, textViewResourceId, objects)
         第二个参数和上面的第一个构造函数一样
    注意:这个的模板的根也只能是TextView 第三个参数表示的是数据源————>集合或者数组
       c、 ArrayAdapter adapter=new ArrayAdapter<T>(context,resource, textViewResourceId, objects)
         第一个参数:上下文
         第二个参数:模板的id R.layout.
         第三个参数:控件id
         第四个参数:数据源
    适配器中关于视图View比较特殊的方法:
    adapter.clear():清除适配器中所有的View
    adapter.notifyDataSetChanged();刷新适配器
    3、SimpleAdapter的用法

    SimpleAdapter adapter = new SimpleAdapter(SpinnerActivity.this,lists,R.layout.spinner_item3,new String[]{"name","password"},new int[]{R.id.mTextView,R.id.mTextView1});
                    context:上下文
                    data:数据源
                    resource:模板id  R.layout.
                    from:这个数组就是那个数据源中对应的key
                    to:模板中的控件id的数组
    

    适配器的某一个条目的点击事件
    mSpinner.setOnItemLongClickListener 长按事件
    mSpinner.setOnItemSelectedLisntener 点击某一个条目的点击事件

    public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id)
       parent:他爹
       view: 点击的View
       position:点击的View的位置
       id: 点击的view的id
    
    mSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
          
        }
        @Override
    public void onNothingSelected(AdapterView<?> parent){
        
    }
    });
    

    AutoCompleteTextView(完成自动匹配)

    使用方式:
    1、在布局文件通过id找到控件
    2、使用适配器来适配数据源的词库
    3、设置适配器
    4、设置能够从第一个位置开始匹配

    mAutoCompleteTextView.setThreshold(1);// 在setAdapter()的前后都可以实现
    

    ScrollView:滑动视图的视图的使用

      当我们的内容以及填满当前屏幕而且内容还没有显示完全的情况下,使用滑动视图。

    相关文章

      网友评论

        本文标题:Android回顾--(四) 布局加载器

        本文链接:https://www.haomeiwen.com/subject/dsdjmftx.html