應用中可隨手勢移動的控制元件
private int startX , startY , endX, endY ;
private int screenWidth , screenHeight;
private int lastX, lastY ;
private DisplayMetrics dm;
獲取螢幕寬高 dm = getResources().getDisplayMetrics(); screenWidth = dm.widthPixels; screenHeight = dm.heightPixels - getStatusBarHeight();
給控制元件設定ontouch事件 ziyou.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX();// 獲取觸控事件觸控位置的原始X座標 lastY = (int) event.getRawY(); //記錄初始點選位置 startX = (int) event.getRawX();// 獲取觸控事件觸控位置的原始X座標 startY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: //移動距離 int dx = (int) event.getRawX() - lastX; int dy = (int) event.getRawY() - lastY; //移動後的上下左右 int l = v.getLeft() + dx; int b = v.getBottom() + dy; int r = v.getRight() + dx; int t = v.getTop() + dy; // 下面判斷移動是否超出螢幕 if (l < 0) { l = 0; r = l + v.getWidth(); } if (t < 0) { t = 0; b = t + v.getHeight(); } if (r > screenWidth) { r = screenWidth; l = r - v.getWidth(); } if (b > screenHeight) { b = screenHeight; t = b - v.getHeight(); } v.layout(l, t, r, b); lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); v.postInvalidate(); break; case MotionEvent.ACTION_UP: //記錄結束點選位置 endX = (int) event.getRawX(); endY = (int) event.getRawY(); if (endX == startX && endY == startY) { ToastUtil.showToast(MainActivity.this,"點選了靈活按鍵"); } break; default: break; } return true; } });
相關推薦
應用中可隨手勢移動的控制元件
private int startX , startY , endX, endY ; private int screenWidth , screenHeight; private int lastX, lastY ; private DisplayMetrics dm
讓你的Winform應用在執行時可自由拖放控制元件位置
有這樣一個場景,有AB兩個客戶總對介面擺放有著不同的喜好,一個喜歡查詢條件輸入區(被放在一個groupbox中)在介面的上半部分,輸入區在下半部分(被放在另一個groupbox中),另一個使用者則正好相反,所以我們在介面設計確認時今天A在時,我們聽他的要求,改一次,明天A去開會了,B來確認,又讓我們改回來
UGUI控制元件可拖拽移動類元件
由於Unity3d自帶的UGUI不帶拖拽功能,想要實現拖拽功能,必須自己實現拖拽類.所以我寫了一個通用的UGUI拖拽元件,使用方便. 使用方法: 直接放到要拖拽的UI元件上,設定目標移動的物件即可,也可以不設定目標物件,預設是拖動物件自己. using UnityEngin
WinForm中使用自定義Tooltip控制元件
private ToolTip tooltipCtr; 建構函式中: 隱藏預設的Tooltip:this.ShowCellToolTips = false; this.tooltipCtr = new ToolTip(); 設定停留時間(還有許多其他時間設定):thi
基於jquery的可查詢多級select控制元件(可記錄歷史選擇)
;(function($,window,document){ var pluginName = 'multiSelect', defaults = { type: '1',//select層級onetwo data:[], field:[],//資料欄位名
WinForm中如何實現在容器控制元件中嵌入form窗體(panel與子窗體)
今天在做專案時候遇到一個問題,窗體分為左右兩部分,要求在左邊欄點選按鈕時,右邊動態載入窗體最後想到用panel實現,經歷幾次失敗,並查詢資料後,終於搞定說明:如果多次切換需加入 panel.clear();清空原有panel內容環境:C# VS2008 方法一:通過給panel載入子元素實現
仿QQ空間之打造個性化可拉伸頭部控制元件
(使用格式工廠將視訊轉換成gif格式時影響了gif效果,執行在真機上不影響效果) 這個效果是採用ListView並給ListView新增一個頭部來實現的,當然了要處理ListView的上拉,下拉及鬆開肯定要對ListView自定義; 先來看下ListView的頭部xml檔案:
C# DataGridView單元格中動態新增多個控制元件
簡介: 在DataGridView的單元格中動態新增多個控制元件。例如在DataGridViewTextBox單元格中,新增CheckBox和Button控制元件。主題思路就是一個動態控制元件的大小,位置,顯示,事件設定,和平常
C#如何線上程中修改我的窗體控制元件的text文字
以下辦法實驗成功: 執行緒不能操作窗體控制元件,會引發異常,建議使用委託進行窗體控制元件的操作,包括 改text. 1、定義委託 delegate void SetTextCallback(string text); 2、實現委託 priv
Android佈局中動態修改TextView等控制元件中文字的顏色
在Android介面展示資訊時,有時我們需要相近或相鄰的文字顯示不同的文字格式,這時該怎麼辦呢?我們有至少兩種辦法: 新增多個控制元件 在控制元件修改區域性文字 今天我們來談一下如何在控制元件中修改區域性文字。 1、SpannableStringB
Android中自定義滑動選中控制元件WheelView
WheelView a great functional custom WheelView with demo in dialog and bottomDialog,android 滾動選擇控制元件,滾動選擇器 ========= How to
說說 Android UI 中的 ListView(列表控制元件)
當程式中有大量的資料需要展示時,就需要用到 ListView 啦。ListView 允許使用者通過手指上下滑動的方式將螢幕外的資料滾動到螢幕內,同時螢幕上原有的資料則會滾動出螢幕。 1 基本用法 佈局檔案中加入 ListView: <?xml
用C#如何遍歷一個窗體中的某一種控制元件
如果我要遍歷所有的Label控制元件.我們知道一個窗體中的所有控制元件都是Form.Controls中的成員,想要得到窗體中的所以成員,可以用foreach來遍歷Controls屬性中的物件。注意,Controls屬性中包含的物件都是以Control基類形式存在
Android可簽到的日曆控制元件
最近在公司的功能需求中,需要實現可以簽到的日曆,簽到後在簽到過的日期做標誌。本功能參考了網上一些大神的日曆控制元件,在此基礎上進行修改,已滿足本公司的需求,現已完成,記錄一下。 佈局檔案: <RelativeLayout xmlns:android
【Bootstrap Table】在指定列中新增下拉框控制元件,並獲取所選值
背景 最近在使用Bootstrap table ,有一個在某一列新增一個下拉列表,並且通過 “getAllSelections”方法獲取所選行的需求,在實現這個功能的時,走了一些彎路,遇到了一些坑。所以今天總結出來,既是自己的學習,也分享給大家,
通過ItemDataBound事件操作資料控制元件中巢狀的其他控制元件
首先,需要在控制元件中宣告ItemDataBound事件。 其次,在code檔案中實現事件。 再次,程式碼示例如下。 <span style="font-size:14px;">protected void rptPhoto_ItemDataBound(obje
mfc中通過觸發List Box 控制元件來顯示圖片
幫小學弟寫的一個mfc的小程式,比較簡單。 1.觸發List Bo控制元件的左鍵單擊事件 void Ctest_pictureDlg::OnLbnDblclkList1() { // TODO: 在此新增控制元件通知處理程式程式碼 int nIndex =
分享個Duilib中基於wke的瀏覽器控制元件
概述 wke是基於谷歌chrome瀏覽器原始碼的裁剪版本,大小僅僅只有10M左右,無需依賴其他的擴充套件庫(跟CEF的一大堆大約40M的DLL來比簡直爽呆了),就可以在本地使用谷歌核心快速載入網頁。網上也有基於wke在Duilib 上擴充套件的控制元件程式碼,其
android自動化測試中hierarchyviewer和uiautomatorviewer獲取控制元件資訊的方式比對
android自動化新人一個,目前研究PC端獲取android裝置的控制元件資訊有哪些方式。多多指教! android的目錄tools下有2個自帶的工具hierarchyviewer和uiautomatorviewer,開啟後,如下所示:
Android中以JAR形式封裝控制元件 或者類庫
在開發過程中經常需要將程式碼封裝後交付使用,在Android中也是如此 下面是封裝的步驟 建立一個沒有Activity的Android的工程 1將res中的資源全部刪除 2刪除AndroidManifest.xml中資源的引用 類似這樣的程式碼a