欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android中怎么利用Gallery實(shí)現(xiàn)多級聯(lián)動

今天就跟大家聊聊有關(guān)Android中怎么利用Gallery實(shí)現(xiàn)多級聯(lián)動,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

Gallery布局

主要的布局是有兩個(gè)相對布局+兩個(gè)Gallery組成的:

 1: <?xml version="1.0" encoding="utf-8"?>  2: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    3:     android:layout_width="fill_parent"    4:     android:layout_height="fill_parent">    5:     <!-- 專輯 -->  6:     <Gallery android:id="@+id/gallery"  7:         android:layout_width="fill_parent"  8:         android:layout_height="wrap_content"  9:         android:layout_alignParentTop="true" 10:         android:gravity="center_horizontal" 11:         android:spacing="16dp" 12:         android:unselectedAlpha="0.5"/> 13:     <!-- 歌曲 --> 14:     <Gallery android:id="@+id/gallery2" 15:         android:background="#FFF" 16:         android:layout_width="fill_parent" 17:         android:layout_height="30dp" 18:         android:layout_below="@id/gallery" 19:         android:layout_alignParentLeft="true" 20:         android:gravity="center_vertical" 21:         android:spacing="16dp" 22:         android:unselectedAlpha="0.5" /> 23: </RelativeLayout>

Gallery的適配器

在android中適配器很好的實(shí)現(xiàn)了MVC思想,它很好的為某些組件提供了數(shù)據(jù)和view的實(shí)現(xiàn)。此處我們需要通過繼承BaseAdapter,實(shí)現(xiàn)兩個(gè)Gallery的適配器。

 1: /**   2:  * 專輯   3:  *    4:  * @author halzhang   5:  */   6: public class AlbumAdapter extends BaseAdapter {   7:     8:     private Context context;   9:    10:     private Cursor cursor;  11:    12:     private Bitmap[] bitmaps;  13:    14:     public AlbumAdapter(Context context) {  15:         this.context = context;  16:         this.cursor = context.getContentResolver().query(  17:                 MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, null, null, null,  18:                 MediaStore.Audio.Albums.DEFAULT_SORT_ORDER);  19:         bitmaps = new Bitmap[cursor.getCount()];  20:         initBitmaps();  21:     }  22:    23:     /**  24:      * 初始化專輯封面圖片  25:      */  26:     private void initBitmaps() {  27:         if (cursor.moveToFirst()) {  28:             do {  29:                 bitmaps[cursor.getPosition()] = MusicUtils.getArtwork(context, -1, cursor  30:                         .getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Albums._ID)));  31:             } while (cursor.moveToNext());  32:         }  33:     }  34:    35:     public int getCount() {  36:         if (cursor != null) {  37:             return cursor.getCount();  38:         }  39:         return 0;  40:     }  41:    42:     public Object getItem(int position) {  43:         return position;  44:     }  45:    46:     public long getItemId(int position) {  47:         if (cursor != null) {  48:             cursor.moveToPosition(position);  49:             return cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Albums._ID));  50:         }  51:         return 0;  52:     }  53:    54:     public View getView(int position, View convertView, ViewGroup parent) {  55:         ImageView iv = new ImageView(context);  56:         iv.setLayoutParams(new Gallery.LayoutParams(100, 100));  57:         iv.setAdjustViewBounds(true);  58:         iv.setImageBitmap(bitmaps[position]);  59:         return iv;  60:     }  61:    62: }
 1: /**   2:  * 歌曲   3:  *    4:  * @author halzhang   5:  */   6: public class AudioAdapter extends BaseAdapter {   7:     8:     private Context context;   9:    10:     private Cursor cursor;  11:     /**專輯ID*/  12:     private int albumId;  13:    14:     public AudioAdapter(Context context, int albumId) {  15:         this.context = context;  16:         this.albumId = albumId;  17:         this.cursor = context.getContentResolver().query(  18:                 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,  19:                 MediaStore.Audio.Media.ALBUM_ID + "=" + albumId, null,  20:                 MediaStore.Audio.Media.DEFAULT_SORT_ORDER);  21:     }  22:    23:     public int getCount() {  24:         if (cursor != null) {  25:             return cursor.getCount();  26:         }  27:         return 0;  28:     }  29:    30:     public Object getItem(int position) {  31:         return position;  32:     }  33:    34:     public long getItemId(int position) {  35:         if (cursor != null) {  36:             cursor.moveToPosition(position);  37:             return cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));  38:         }  39:         return 0;  40:     }  41:    42:     public View getView(int position, View convertView, ViewGroup parent) {  43:         cursor.moveToPosition(position);  44:         TextView t = new TextView(context);  45:         String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));  46:         t.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,  47:                 LayoutParams.WRAP_CONTENT));  48:         t.setText(title);  49:         t.setTextColor(Color.BLACK);  50:         return t;  51:     }  52:    53:     /**  54:      * 當(dāng)專輯改變了,調(diào)用此方法更新adapter的數(shù)據(jù)  55:      * @param albumId 專輯ID  56:      */  57:     public void notifyDataSetChanged(int albumId) {  58:         this.cursor = context.getContentResolver().query(  59:                 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,  60:                 MediaStore.Audio.Media.ALBUM_ID + "=" + albumId, null,  61:                 MediaStore.Audio.Media.DEFAULT_SORT_ORDER);  62:         super.notifyDataSetChanged();  63:     }  64:    65: }

Activity

 1: public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener {   2:     3:     private Gallery album;   4:     5:     private Gallery audio;   6:     7:     private AlbumAdapter albumAdapter;   8:     9:     private AudioAdapter audioAdapter;  10:    11:     @Override  12:     protected void onCreate(Bundle savedInstanceState) {  13:         super.onCreate(savedInstanceState);  14:         setContentView(R.layout.audio_player);  15:         setupViews();  16:     }  17:    18:     // 個(gè)人習(xí)慣  19:     private void setupViews() {  20:         album = (Gallery) findViewById(R.id.gallery);  21:         audio = (Gallery) findViewById(R.id.gallery2);  22:    23:         albumAdapter = new AlbumAdapter(this);  24:    25:         album.setAdapter(albumAdapter);  26:    27:         int aid = (int) albumAdapter.getItemId(0);  28:    29:         audioAdapter = new AudioAdapter(this, aid);  30:         audio.setAdapter(audioAdapter);  31:    32:         audio.setOnItemSelectedListener(this);  33:         album.setOnItemSelectedListener(this);  34:     }  35:    36:     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {  37:         if (parent == album) {  38:             // 專輯被選中  39:             int aid = (int) albumAdapter.getItemId(position);  40:             // 更新歌曲Gallery  41:             audioAdapter.notifyDataSetChanged(aid);  42:         } else if (parent == audio) {  43:             // TODO do something  44:         }  45:    46:     }  47:    48:     public void onNothingSelected(AdapterView<?> parent) {  49:    50:     }

看完上述內(nèi)容,你們對Android中怎么利用Gallery實(shí)現(xiàn)多級聯(lián)動有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站欄目:Android中怎么利用Gallery實(shí)現(xiàn)多級聯(lián)動
路徑分享:http://aaarwkj.com/article32/pcdcpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站收錄、云服務(wù)器、App設(shè)計(jì)App開發(fā)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
av免费在线观看大全| 亚洲毛片一区二区在线| 尤物在线免费观看视频| 992免费影院 在线观看| 欧美电影剧情av在线| 人人妻人人澡人人爽精品日本| 国产成人精品视频午夜蜜蜂| 亚洲码欧美码一区二区三区| 欧美日韩av在线一区二区| 国产一区二区高清不卡| 亚洲免费视频一二三区| 国产三级精品久久三级国专区| 国产91在线精品超碰人人| 亚洲各类熟女们中文字幕| 久久成人综合亚洲精品欧美| 欧美系列诱惑性国产精品| 亚洲午夜一区二区精品| 少妇高潮在线观看免费| 免费看国产一级黄色大片| 妞干网视频这里只有精品| 日韩一日韩一区二区三电影在线观看 | 中文日本强暴人妻另类视频| 日本精品在线亚洲国产欧美| 久久久亚洲成人国产av| 日本h电影一区二区三区| 国产福利在线观看网站| 99久久热这里只有精品| 日韩不卡的一区免费视频| 日韩国产一区二区三区精品| 日本少妇人妻一区二区| 欧美一区二区黑人巨大| 日韩国产在线一区二区| 中文字幕高清一区二区三区| 国产传媒免费在线播放| 国产三级在线观看91| 久久久久久狠狠亚洲综合| 高清一区二区三区不卡视频| 国产传媒剧情剧资源网站| 97日韩在线免费视频网站| 国产一区二区三区本色| 欧美日韩国产激情另类|