前言
站在用戶的角度思考問題,與客戶深入溝通,找到烏翠網(wǎng)站設(shè)計(jì)與烏翠網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋烏翠地區(qū)。以前做的項(xiàng)目,導(dǎo)航欄基本上是在頂部或者是在底部,但是最近開發(fā)的一款app,剛開始拿到設(shè)計(jì)圖也是很懵逼的,導(dǎo)航欄居然是在中間,what fuck!設(shè)計(jì)圖如下:
導(dǎo)航欄在中間就會(huì)涉及到兩個(gè)viewpager之間的聯(lián)動(dòng),viewpager的高度適應(yīng)等問題,現(xiàn)在來紀(jì)錄一下是怎么解決問題的?希望給有同樣需求的提供一定的幫助。
(一)Viewpager 高度自適應(yīng)
系統(tǒng)自動(dòng)viewpager 不能設(shè)置wrap_content;
自定義viewpager,注意高度的設(shè)置否則底部空白的問題
網(wǎng)上也會(huì)有很多相關(guān)的教程,我選擇了其中一個(gè)。具體代碼如下:
public class WrapContentHeightViewPager extends ViewPager { private int current; private int height = 0; private boolean scrollble = true; public WrapContentHeightViewPager(Context context) { super(context); } public WrapContentHeightViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (getChildCount() > current) { View child = getChildAt(current); child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); int h = child.getMeasuredHeight(); height = h; } heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } public void resetHeight(int current) { this.current = current; if (getChildCount() > current) { LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) getLayoutParams(); if (layoutParams == null) { layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, height); } else { layoutParams.height = height; } setLayoutParams(layoutParams); } } @Override public boolean onTouchEvent(MotionEvent ev) { if (!scrollble) { return true; } return super.onTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return scrollble && super.onInterceptTouchEvent(ev); } public boolean isScrollble() { return scrollble; } public void setScrollble(boolean scrollble) { this.scrollble = scrollble; } }
文章題目:Android兩個(gè)ViewPager的聯(lián)動(dòng)效果的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article18/gpggp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、企業(yè)建站、域名注冊(cè)、網(wǎng)站策劃、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容