android中drawerlayout如何实现不覆盖主布局?
阿神
阿神 2017-04-17 17:45:02
0
5
861


怎么实现像图中这种主布局随着drawerlayout一起向右滑动不被覆盖?

阿神
阿神

闭关修行中......

membalas semua(5)
洪涛

Anda boleh merujuk artikel tiruan QQ6.0 gelongsor sisi ini oleh Dashen Jiang, tetapi ia tidak sepatutnya menggunakan drawerLayout http://blog.csdn.net/develope...

左手右手慢动作

Ia sangat mudah, cuma panggil settranslationx dalam onslide untuk mengalihkan reka letak utama ke kanan

刘奇

SlidingPaneLayout

小葫芦

Dalam kaedah onDrawerSlide acara mendengar drawerlayout, tambahkan linearlayoutContent.setX(slideOffset * drawerView.getWidth());
linearlayoutContent sebagai halaman utama

Ty80

DrawerLayout menambah DrawerListener, mendengar kaedah onDrawerSlide dan mendapatkan Paparan halaman utama. Gunakan ViewHelper untuk mengawal anjakan Paparan dan ketelusan Alpha untuk mencapai kesan anjakan Lihat dan kecerunan

 DrawerLayout.DrawerListener listen = new DrawerLayout.DrawerListener() {

        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            View mContent = mDrawerLayout.getChildAt(0);
            View mMenu = drawerView;
            float scale = 1 - slideOffset;
            //改变DrawLayout侧栏透明度,若不需要效果可以不设置
            ViewHelper.setAlpha(mMenu, 0.6f + 0.4f * (1 - scale));
            ViewHelper.setTranslationX(mContent,
                    mMenu.getMeasuredWidth() * (1 - scale));
            ViewHelper.setPivotX(mContent, 0);
            ViewHelper.setPivotY(mContent, mContent.getMeasuredHeight() / 2);
            mContent.invalidate();
        }

        @Override
        public void onDrawerOpened(View drawerView) {
           
        }

        @Override
        public void onDrawerClosed(View drawerView) {
           
        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    };
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan