android 增加觸摸范圍,android seekBar 增加點擊和滑動范圍

seekBar的的范圍有限,有時候設計師要求高度為4dp,此時范圍太小,很難滑動成功。因此,我們需要在不改變 UI 的前提下,增加點擊和滑動范圍。

直接上代碼:

public class MainActivity extends AppCompatActivity {

/**

* 增加seekBar滑動范圍

*/

private final static int SEEK_SCOPE = 200;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

private void initView() {

final SeekBar seekBar = findViewById(R.id.seekbar);

// seekBar的父布局

FrameLayout flParent = findViewById(R.id.fl_parent);

flParent.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

Rect seekBarRect = new Rect();

// 獲取相對于父view的位置

seekBar.getHitRect(seekBarRect);

// 上下擴大了指定的接收范圍

if (event.getY() >= seekBarRect.top - SEEK_SCOPE

&& event.getY() <= seekBarRect.bottom + SEEK_SCOPE

&& event.getX() >= seekBarRect.left

&& event.getX() <= seekBarRect.right) {

// 模擬seekBar事件

MotionEvent obtain = MotionEvent.obtain(event.getDownTime(),

event.getEventTime(), event.getAction(),

event.getX() - seekBarRect.left,

seekBarRect.top + seekBarRect.height() / 2.0F,

event.getMetaState());

return seekBar.onTouchEvent(obtain);

}

return false;

}

});

}

}

注意:這種方案要用 seekBar 的上一層布局注冊 touch 事件。其他的方案思路也基本一樣。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452497.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452497.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452497.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

特斯拉股價暴跌,瘋狂燒錢是否真的能夠帶來高額回報?

“瘋狂燒錢”并不能成為公司持續虧損的理由&#xff0c;反而可能成為公司升級轉型的關鍵所在。 上周三&#xff0c;特斯拉發布第四季度財報&#xff0c;其后特斯拉CEO馬斯克在電話會議上表示&#xff0c;特斯拉虧損收窄&#xff0c;營收同比增長88%&#xff0c;但與此同時其首…

android gravity參數,Gravity - [ Android中文手冊 ] - 在線原生手冊 - php中文網

Gravity版本&#xff1a;Android 4.0 r1結構繼承關系public class Gravity extends Objectjava.lang.Objectandroid.view.Gravity類概述用來在一個更大容器中布置對象的標準常量和工具。常量public static final intAXIS_CLIP原始位控制右/底邊界是否被剪切到它的容器中&#x…

Diango博客--8.解鎖博客側欄

文章目錄0.思路引導1.[最新文章] 模板標簽2.[歸檔] 模板標簽3.[分類] 模板標簽4.[標簽云] 模板標簽5.使用自定義的模板標簽0.思路引導 博客側邊欄有四項內容&#xff1a;最新文章、歸檔、分類和標簽云&#xff0c;效果展示如下&#xff1a; 這些內容相對比較固定和獨立&…

十五、詳述 IntelliJ IDEA 插件的安裝及使用方法

正文 首先&#xff0c;進入插件安裝界面&#xff1a; Mac&#xff1a;IntelliJ IDEA -> Preferences -> Plugins;Windows&#xff1a;File -> Settings -> Plugins.標注 1&#xff1a;顯示 IntelliJ IDEA 的插件分類&#xff0c; All plugins&#xff1a;顯示 Inte…

編程巨星的唯一秘訣

別以為是那些軟件開發定律&#xff0c;別以為是開發出那些特殊用途的軟件&#xff0c;別以為是軟件設計技術本身。只有一條真理決定了一個軟件程序員的成功還是失敗。由于堅持這個真理&#xff0c;一個資深的程序員能在一天的時間里學會一門新的編程語言&#xff0c;而由于不堅…

面向數據流的設計方法

面向數據流的設計方法的目標是給出設計軟件結構的一個系統化的途徑。 在軟件工程的需求分析階段&#xff0c;信息流是一個關鍵考慮。通常用數據流圖描繪信息在系統中加工和流動的 情況。面向數據流的設計方法定義了一些不同的“映射”&#xff0c;利用這些映射可以把數據流圖…

AI研究的盲點:無解的神經網絡內在邏輯

論人工神經網絡內在邏輯的研究歷史及現狀。 伴隨著大數據&#xff0c;人工智能&#xff08;AI&#xff09;在沉寂了多年之后&#xff0c;又迎來了新的高潮。在這場涉及大部分科學的革命中&#xff0c;人工神經網絡釋放了人工智能&#xff08;AI&#xff09;。但科學家們發現&a…

Diango博客--9.歸檔、分類和標簽頁

文章目錄0.思路引導1.回顧2.歸檔頁面3.分類頁面4.標簽頁面0.思路引導 側邊欄已經正確地顯示了最新文章列表、歸檔、分類、標簽等信息&#xff0c;現在來完善歸檔、分類和標簽功能。 當用戶點擊歸檔下的某個日期、分類欄目下的某個分類或者標簽欄目下的某個標簽時&#xff0c;…

android studio1.2.6,1.2.2 使用Android Studio開發Android APP | 菜鳥教程

寫在前面本節將介紹如何使用Android Studio開發Android APP&#xff0c;和前面Eclipse ADT SDK搭建Android開發環境一樣&#xff0c;本節也只是介紹一些基本東西&#xff0c;深入的&#xff0c;比如快捷鍵&#xff0c;小技巧等會再另一篇文章中詳細地介紹&#xff01;1.下載A…

軟件工程中的啟發規則

1.改進軟件結構提高模塊獨立性 2. 模塊規模應該適中 3.深度、寬度、扇出和扇入都應適當 4.模塊的作用域應該在控制域之內 5.力爭降低模塊接口的復雜程度 6.設計單入口單出口的模塊 7.模塊功能應該可以預測

C#指南,重溫基礎,展望遠方!(4)表達式

表達式是在操作數和運算符的基礎之上構造而成。 表達式的運算符指明了向操作數應用的運算。 運算符的示例包括 、-、*、/ 和 new。 操作數的示例包括文本、字段、局部變量和表達式。 如果表達式包含多個運算符&#xff0c;那么運算符的優先級決定了各個運算符的計算順序。 例如…

UPS開始嘗試“貨車+無人機”的投遞方式,不必再擔心快遞員離職了

繼亞馬遜“空中倉庫”&#xff0c;無人機送貨再現新形式。 作為世界上最大的快遞承運商與包裹遞送公司&#xff0c;UPS當然也沒有放過“送貨無人機”這一新穎業務。與亞馬遜推出“空中倉庫”的理念類似&#xff0c;UPS并沒有選擇讓無人機從倉庫直接起飛&#xff0c;而是將之與…

技術人員如何"正確"的浪費時間?

蘋果產品用戶要浪費時間&#xff0c;你就應該這樣做&#xff1a;買個有鎖的 iPhone &#xff0c;每天刷幾百次威鋒網等待越獄或解鎖&#xff0c;看到新 App 就安裝&#xff0c;程序提示更新立刻升級&#xff1b;有新的固件(哪怕是 β 版)就壓制不住升級的欲望&#xff1b;每次 …

Diango博客--10.交流的橋梁“評論功能”

文章目錄0.思路引導1.創建"評論"應用2.設計"評論"的數據庫模型3.注冊"評論"模型到 admin4.設計“評論”表單5.展示評論表單6.“評論”視圖函數7.綁定 URL8.向讀者發送是否“評論”成功的狀態9.詳情頁底部顯示“評論”內容0.思路引導 本文將創建…

python與android交互,Android客戶端與Python服務器端的簡單通信

最近在做一個APP&#xff0c;需要與服務器通信&#xff0c;一點一點的嘗試&#xff0c;記錄一下。本文使用了OkHttp和Flask框架。Android客戶端&#xff1a;實現功能輸入完點擊OK按鈕后會toast成功的信息。Python服務端&#xff1a;各部分代碼如下&#xff1a;activity_main.xm…

結構程序設計

結構程序設計經典定義&#xff1a;如果一個程序的代碼塊僅僅通過順序、選擇和循環這3種基本控制結構進行連接&#xff0c;并且每個代碼塊只有一個入口和一個出口&#xff0c;則稱這個程序是結構化的。 結構程序設計更全面的定義&#xff1a;結構程序設計是盡可能少用GO TO語句…

Sql Server 開窗函數Over()的使用

利用over()&#xff0c;將統計信息計算出來&#xff0c;然后直接篩選結果集1 declare t table(2 ProductID int,3 ProductName varchar(20),4 ProductType varchar(20),5 Price int)6 7 insert t8 select 1,name1,P1,3 union all9 select 2,name2,P1,5 union all 10 select 3,…

云棲科技評論第48期:前沿科技對世界的改造 我們這代人只完成了1%

1、數字經濟版圖呈中美雙分趨勢 日本IT行業為前景擔憂 數字經濟版圖呈中美雙分趨勢 日本IT行業為前景擔憂 【新聞摘要】《日本經濟新聞》日前刊文稱&#xff0c;數字經濟的勢力版圖呈現中國和美國兩強雙分的趨勢明顯&#xff0c;這意味著日本可能不得不使用中美的技術&#xff…

程序員犯的非技術錯誤(Top 5)

對于程序開發者來說&#xff0c;有兩種技術需要我們掌握&#xff0c;一個是技術上的能力&#xff0c;另一個是非技術上的能力。不幸的是&#xff0c;許多程序員過多地關注了技術上的能力&#xff0c;而忽略了非技術上的能力的培養&#xff0c;因此&#xff0c;我們的程序員們經…

CentOS下添加Root權限用戶‘超級用戶’方法(xxx is not in the sudoers file.This incident will be reported.的解決方法)

文章目錄1.添加普通用戶2.添加sudo文件的寫權限3.編輯sudoers文件4.撤銷sudoers文件寫權限1.添加普通用戶 [rootserver ~]# useradd fxd //添加一個名為fxd的用戶 [rootserver ~]# passwd fxd //修改密碼 Changing password for user chenjiafa. New UNIX password: //在這里輸…