真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android學(xué)習(xí)筆記—第四章Android開(kāi)發(fā)組件2

第四章 Android開(kāi)發(fā)組件2

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出梁園免費(fèi)做網(wǎng)站回饋大家。

  1. 列表類組件

    (1)ListView組件:以垂直列表的形式列出需要顯示的列表項(xiàng)

    相關(guān)屬性:

    a. android:divider  用于為列表視圖設(shè)置分隔條,可以用顏色或者圖片資源

    b. android:dividerHeight  設(shè)置分隔條的高度

    c. android:entries  通過(guò)數(shù)組資源為L(zhǎng)istView指定列表項(xiàng)

    d. android:footerDividersEnabled  設(shè)置是否在footerView之前繪制分隔條,默認(rèn)為true。

    e. android:headerDividersEnabled  設(shè)置是否在headerView之后繪制分隔條,默認(rèn)為true。

    (2)ListView使用步驟:

    a. 拖入一個(gè)ListView控件,高度改為match_parent

    b. 新建一個(gè)布局xml文件,設(shè)定每行顯示的樣式

    c. 創(chuàng)建一個(gè)類MyAdapter繼承BaseAdapter

    getView()方法:設(shè)置每行數(shù)據(jù)顯示及每行顯示樣式

    getCount()方法:顯示的行數(shù),當(dāng)返回值為0時(shí),getView()方法不會(huì)被調(diào)用,顯示為空白

    d. 創(chuàng)建適配器對(duì)象

    MyAdapter adapter = new MyAdapter();

    e. 為L(zhǎng)istView設(shè)置適配器

    listView.setAdapter(adapter);

    f. 添加headview和footview(必須在設(shè)置適配器之前)

    View headview = getLayoutInflater.inflate(R.layout.head,null);

    View footview = getLayoutInflater.inflate(R.layout.foot,null);

    listView.addHeadView(headview);

    listView.addFootView(footview);

    (3)ListView的優(yōu)化

    上下滑動(dòng)會(huì)不斷觸發(fā)getview()方法

    解決方法:復(fù)用行布局,減少控件查找

    //創(chuàng)建一個(gè)類,聲明幾個(gè)變量(變量類型和數(shù)量與布局xml文件中包含的控件一致)

    class ViewHolder{

        View view1;

        View view2;

        ......

    }

    //聲明成員變量

    View inflate;

    ViewHolder  holder;

    //優(yōu)化

    if(convertView==null){

        //創(chuàng)建一個(gè)ViewHolder對(duì)象

        //得到布局轉(zhuǎn)換器對(duì)象

        LayoutInflater inflater = getLayoutInflate();

        //將布局xml文件轉(zhuǎn)換為布局對(duì)象

        inflate = inflater.inflate(R.layout.listItem,null);

        //查找控件

        holder.view1 = inflate.findViewById(R.id.view1);

        holder.view2 = inflate.findViewById(R.id.view2);

        //設(shè)置一個(gè)標(biāo)簽

        infalte.setTag(holder);

    }else{

        //替換、復(fù)用行布局

        inflate=convertView;

        holder = (ViewHolder)inflate.getTag();

    }

    //依據(jù)控件類型設(shè)置控件內(nèi)容

    ......

    (3)數(shù)據(jù)更新

    數(shù)據(jù)發(fā)生變化時(shí),由適配器通知listview更新數(shù)據(jù)

    adapter.notifyDataSetChanged();

    (4)ListView的點(diǎn)擊事件

    a. 設(shè)置點(diǎn)擊監(jiān)聽(tīng)

    listview.setOnItemClickListener(new OnItemClickListener){

        @Override

        public void onItemClick(AdapterView parent,View view,int position,long id){

            ......

        }

    }

    備注:當(dāng)行布局中存在搶占焦點(diǎn)的控件時(shí)(如Button),ListView的點(diǎn)擊會(huì)失效

    解決方式:

    在行布局中搶占焦點(diǎn)的控件上設(shè)置屬性:android:focusable = "false"

    在行布局中設(shè)置讓所有能搶占焦點(diǎn)的控件都不搶占焦點(diǎn)

    android:descendantFocusability = "blocksDescendants"

    b. 設(shè)置長(zhǎng)按點(diǎn)擊監(jiān)聽(tīng)

    listview.setOnItemLongClickListener(new OnItemLongClickListener){

        @Override

        public void OnItemLongClick(AdapterView parent,View view,int position,long id){

            ......

        }

    }

  2. Spinner組件:列表選擇框相當(dāng)于網(wǎng)頁(yè)中的常見(jiàn)的下拉列表框

    getSelectedItem():獲取列表選擇框的選中值

    OnItemSelectedListener:設(shè)置列表項(xiàng)的選中事件監(jiān)聽(tīng)。

    setDropDownViewResource():為適配器設(shè)置列表框下拉時(shí)的選項(xiàng)樣式

  3. Gallery組件:畫廊視圖,可按水平方向顯示內(nèi)容,并可用手指直接拖動(dòng)圖片移動(dòng),一般用來(lái)瀏覽               圖片。通常用BaseAAdapter適配器為Grallery組件提供要顯示的圖片。

  4. ImageSwitcher組件:圖片切換器,用于實(shí)現(xiàn)類似于Windows下“Windows照片查看器”中的“上一                      張”、“下一張”的功能。使用ImageSwitcher必須實(shí)現(xiàn)                                      ViewSwitcher.ViewFactory接口,通過(guò)makeView()方法創(chuàng)建用于顯示圖片的                      ImageView對(duì)象。例如:

    p_w_picpathSwitcher.setInAnimation(xxx);//設(shè)置淡入動(dòng)畫

    p_w_picpathSwitcher.setOutAnimation(xxx);//設(shè)置淡出動(dòng)畫

    p_w_picpathSwitcher.setFactory(new ViewFactoty(){

        @Override

        public View makeView(){

            ImageView p_w_picpathView = new ImageView(MainActivity.this);

            return p_w_picpathView;

        }

    });

    p_w_picpathSwitcher.setImageResource(xxx);  //設(shè)置顯示的圖片


名稱欄目:Android學(xué)習(xí)筆記—第四章Android開(kāi)發(fā)組件2
URL網(wǎng)址:http://weahome.cn/article/gdsjpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部