gallery tap 数据加载及显示(转载Android 7.0 Gallery图库源码分析系列)

该博客围绕Gallery图库源码展开解析,包含状态切换日志,如从AlbumSetPage到TimeLinePage等。还展示了GalleryActivity类的部分代码,涉及界面初始化、屏幕显示逻辑等,且提到图库各tap界面通过OpenGL渲染GLSurfaceView显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Gallery图库源码解析系列

http://blog.youkuaiyun.com/lb377463323/article/details/69523891

 

07-19 06:38:05.854  8070  8070 V StateManager: switchState com.android.gallery3d.app.AlbumSetPage@f36cd68, class com.android.gallery3d.app.TimeLinePage
07-19 06:38:07.762  8070  8070 D GalleryActivity: startAlbumPage AlbumSetPage.KEY_MEDIA_PATH=: /combo/{/local/all,/picasa/all}
07-19 06:38:07.762  8070  8070 D GalleryActivity: getStateManager().getStateCount() =: 1
07-19 06:38:07.762  8070  8070 V StateManager: switchState com.android.gallery3d.app.TimeLinePage@fe8f1ba, class com.android.gallery3d.app.AlbumSetPage
07-19 06:38:07.964  8070  8070 D AlbumSetPage: ninitializeData mediaPath: /combo/{/local/all,/picasa/all}

 

 

packages\apps\SnapdragonGallery\src\com\android\gallery3d\app\GalleryActivity.java

 

    protected void onCreate(Bundle savedInstanceState) {

        setContentView(R.layout.gallery_main);
        initView();

        mSavedInstanceState = savedInstanceState;
        if (isPermissionGranted()) {
            init();
        }
    }

 

    public void initView() {
        mDrawerListView = (ListView) findViewById(R.id.navList);
        mNavigationAdapter = new NavigationDrawerListAdapter(this);
        mDrawerListView.setAdapter(mNavigationAdapter);
        mToolbar = (Toolbar) findViewById(R.id.toolbar);
        setActionBar(mToolbar);

        mDrawerListView
                .setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                            int position, long id) {
                        getGLRoot().lockRenderThread();
                        showScreen(position);

                        mNavigationAdapter.setClickPosition(position);
                        mDrawerListView.invalidateViews();
                        mDrawerLayout.closeDrawer(Gravity.START);
                        getGLRoot().unlockRenderThread();
                    }
                });
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);

 

 

 

    public void showScreen(int position) {
        if (position > 2) {
            position = 1;
        }
        // Bundle data = new Bundle();
        // int clusterType;
        // String newPath;
        String basePath = getDataManager().getTopSetPath(
                DataManager.INCLUDE_ALL);
        switch (position) {

        case 0:
            startTimelinePage(); //Timeline view
            break;
        case 1:
            startAlbumPage(); // Albums View
            break;
        case 2:
            startVideoPage(); // Videos view
            break;
        default:
            break;
        }

 

    public void startAlbumPage() {

            ActivityState state = getStateManager().getTopState();
            String oldClass = state.getClass().getSimpleName();
            String newClass = AlbumSetPage.class.getSimpleName();
            if (!oldClass.equals(newClass)) {
             getStateManager().switchState(getStateManager().getTopState(),
                    AlbumSetPage.class, data);
            }
        }
        mVersionCheckDialog = PicasaSource.getVersionCheckDialog(this);
        if (mVersionCheckDialog != null) {
            mVersionCheckDialog.setOnCancelListener(this);
        }
    }

 

gallery 各个tap界面都不是通过activity显示界面,而是opengl渲染glsurfaceview,例如直接在glrootview的slotview(相册)渲染画面

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值