android中怎么判斷點擊位置是否在指定區域內-創新互聯

這期內容當中小編將會給大家帶來有關android中怎么判斷點擊位置是否在指定區域內,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我們提供的服務有:成都網站制作、網站建設、外貿網站建設、微信公眾號開發、網站優化、網站認證、寧化ssl等。為近1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的寧化網站制作公司

繪制扇形

要判斷點擊的位置是否是在扇形區域內,首先要繪制扇形,繪制扇形的方法可以使用canvas.drawArc()方法。這里介紹的是使用Path的方法,然后調用canvas.drawPath(ovalPath,paint);方法來進行繪制。

主要代碼如下:

@Override
  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    //將畫布的坐標原點移到圓心位置
    canvas.translate((getWidth() + getPaddingLeft() - getPaddingRight()) / 2,
        (getHeight() + getPaddingTop() - getPaddingBottom()) / 2);

    ovalPath.moveTo(0, 0);
    ovalPath.lineTo(100, 0);
    RectF oval = new RectF(-100,-100,100,100);
    ovalPath.addArc(oval, 0, 160);
    ovalPath.lineTo(0, 0);
    ovalPath.close();
    RectF r = new RectF();
    ovalPath.computeBounds(r, true);
    mRegion.setPath(ovalPath, new Region((int)r.left, (int) r.top, (int) r.right,(int)r.bottom));
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    paint.setAntiAlias(true);
    paint.setStrokeWidth(1);
    paint.setStyle(Paint.Style.STROKE);
    canvas.drawPath(ovalPath,paint);
    mCenterCircleX = (getWidth() + getPaddingLeft() - getPaddingRight()) / 2;
    mCenterCircleY = (getHeight() + getPaddingTop() - getPaddingBottom()) / 2;

}

獲取點擊位置,判斷是否在扇形內的方法如下:

 public boolean onTouchEvent(MotionEvent event) {
    float x;
    float y;
    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
        x = event.getX()-mCenterCircleX;
        y = event.getY()-mCenterCircleY;
        boolean b = mRegion.contains((int) x, (int) y);
        Log.d(TAG, "onTouchEvent: b: "+b +" x: "+ x+" y: "+y);
        break;

    }
    return true;
}

這里要注意的是:獲取點擊位置后,要減去坐標的偏移量,否則將得不到正確的結果。

android中怎么判斷點擊位置是否在指定區域內

android中怎么判斷點擊位置是否在指定區域內

上述就是小編為大家分享的android中怎么判斷點擊位置是否在指定區域內了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。

當前名稱:android中怎么判斷點擊位置是否在指定區域內-創新互聯
當前鏈接:http://m.kartarina.com/article18/dicggp.html

成都網站建設公司_創新互聯,為您提供虛擬主機軟件開發品牌網站建設定制開發手機網站建設品牌網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設
主站蜘蛛池模板: 亚洲AV无码一区东京热久久| 久久久久久AV无码免费网站| HEYZO无码综合国产精品227| 人妻av无码专区| 亚洲爆乳无码一区二区三区| 久久精品中文字幕无码绿巨人 | 亚洲VA中文字幕不卡无码| 久热中文字幕无码视频| 久久99久久无码毛片一区二区| 精品人无码一区二区三区| 亚洲一区AV无码少妇电影☆| 无码中文字幕av免费放| 无码人妻久久一区二区三区免费| 国产精品亚洲专区无码唯爱网| 亚洲AV无码日韩AV无码导航| 国内精品久久人妻无码不卡| 无码福利写真片视频在线播放| 国产AV无码专区亚洲AV男同| 亚洲av无码天堂一区二区三区| 无码一区二区波多野结衣播放搜索| 无码日韩人妻精品久久蜜桃| 中文字幕无码乱人伦| 亚洲精品无码99在线观看| 亚洲人av高清无码| 精品无码成人片一区二区98| 亚洲av永久无码精品网站| 国产亚洲精品无码成人 | 国产午夜无码视频在线观看| 国产免费av片在线无码免费看 | 亚洲AV无码不卡在线观看下载| 免费无码精品黄AV电影| 日韩放荡少妇无码视频| 极品无码国模国产在线观看| 亚洲国产精品无码观看久久| 伊人久久大香线蕉无码| 岛国av无码免费无禁网站| 亚洲中文字幕无码中文字| 精品久久无码中文字幕| 亚洲私人无码综合久久网| 大胆日本无码裸体日本动漫| 无码国模国产在线无码精品国产自在久国产 |