-
內容區域由于按中心方向開始變小,所以會導致向右移動時,左邊到屏幕右方的距離看起來也變小了,如圖所示 解決方法:為內容區域的縮放設置縮放中心點為 左側查看全部
-
已完成部分和QQ的區別如截圖所示:查看全部
-
區別實現查看全部
-
目前實現的菜單和QQ側滑菜單的區別如截圖查看全部
-
-------------------------------------------------- 0px mMenuWidth menu默認從左向右的偏移量, 即當偏移量為整體寬度時,它是完全隱藏的 100px mMenuWidth-100 拉出來100像素時,讓其偏移量變為mMenuWidth-100 200px mMenuWidth-200 拉出來200像素時,讓其偏移量變為mMenuWidth-200 屬性動畫: TranslationX getScrollX: mMenuWidth ~ 0 此值和TranslationX(即以上提到的偏移量)變化是一致的 調用動畫時機 ACTION_MOVE查看全部
-
自定義屬性注意事項: 見截圖查看全部
-
1)將dp轉化成像素值px 2)獲取屏幕寬度 3)onMeasure 決定自己和自己內部子View的寬和高 計算出自己內部子View的寬度如下: a) menu寬度為屏幕寬度-menu和屏幕右側的距離 b) content寬度為屏幕寬度 注意onMeasure不要多次調用 onMeasure中由于LinearLayout中只有一個Menu和一個content,而這兩個的寬度已經顯示指定,所以view自己的寬度就相當于是這兩個寬度之和也被指定了,因此不需要再次設定自己的寬 4)onLayout 通過設置偏移量,將menu隱藏 this.scrollTo(mMenuWidth, 0); //scrollTo是瞬間隱藏,沒有動畫效果 5)onTouchEvent getScrollX(); //隱藏在左邊的寬度查看全部
-
自定義ViewGroup的主要步驟查看全部
-
未使用自定義屬性時,調用兩個參數的構造方法查看全部
-
一般的側滑的實現 使用ViewGroup,左邊Menu+ 右邊Content 監聽onTouchEvent 在Move過程中:不斷改變ViewGroup的leftMargin,造成不斷擠出來的感覺 UP:根據菜單的寬度,決定將其隱藏或者顯示; 具有動畫效果 1)Scrolller實現動畫效果 2)LeftMargin + Thread 還要注意處理滑動沖突 今天使用HorizontalScrollView 初始情況 ScollView中使用LinearLayout:Menu + Content,設置一個偏移量,將Menu進行隱藏在左邊 這樣省去了Move過程的處理,也省去了滑動沖突的處理查看全部
-
1-3節 處理邏輯小改一下,要定義MENU是否顯示的布爾量,和張同學類似 public boolean onTouchEvent(MotionEvent ev) { int action = ev.getAction(); switch (action) { case MotionEvent.ACTION_UP: int scrollX = getScrollX(); if (!isMenuShowed) { //菜單未顯示 if (scrollX <= mMenuWidth / 5 * 4) { this.smoothScrollTo(0, 0); isMenuShowed = true; } else { //彈回 this.smoothScrollTo(mMenuWidth, 0); } return true; }else{ //==if (isMenuShowed) 菜單已經顯示 if (scrollX >= mMenuWidth / 5 * 1) { //將菜單進行隱藏 this.smoothScrollTo(mMenuWidth, 0); isMenuShowed = false; } else { //彈回 this.smoothScrollTo(0, 0); } return true; } } //其他動作的處理 return super.onTouchEvent(ev); }查看全部
-
cehua查看全部
-
隱藏包名 requestWindowFeature(Window.FEATURE_NO_TITLE);查看全部
-
一般側滑實現思路 (而本次使用HorizonntailScrollView完全實現了滾動沖突的處理,在里面可以放置ListView)查看全部
-
側滑的實現查看全部
舉報
0/150
提交
取消