色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Android滑動效果(一)—Layout方法

Android滑動效果(一)—Layout方法 時間:2018-09-25      來源:未知

上一篇我們了解了Android的坐標系和觸控事件,今天我們就來看看Android中如何使用系統提供的API來具體實現滑動效果。實現滑動效果的六種方法之Layout方法,在這里我們要明確一件事情,無論是哪種方式,滑動效果實現的基本思想是:當觸摸View時,系統記錄下當前的坐標系;當手指移動時,系統記錄下移動后觸摸的坐標系,從而獲取到相對于前一次坐標點的偏移量,并通過偏移量來修改View的坐標,這樣不斷重復,從而實現Android的滑動效果。

下面,我們就來看一個實例,來了解一下在Android中是如何實現滑動效果的。

新建項目,然后自定義一個view,代碼如下:

package com.example.testdragview;

import android.content.Context;

import android.util.AttributeSet;

import android.util.Log;

import android.view.MotionEvent;

import android.view.View;

public class DragView extends View{

private int lastX;

private int lastY;

public DragView(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

public DragView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public DragView(Context context) {

super(context);

}

public boolean onTouchEvent(MotionEvent event) {

//獲取到手指處的橫坐標和縱坐標

int x = (int) event.getX();

int y = (int) event.getY();

switch(event.getAction())

{

case MotionEvent.ACTION_DOWN:

lastX = x;

lastY = y;

break;

case MotionEvent.ACTION_MOVE:

//計算移動的距離

int offX = x - lastX;

int offY = y - lastY;

//調用layout方法來重新放置它的位置

layout(getLeft()+offX, getTop()+offY,

getRight()+offX , getBottom()+offY);

break;

}

return true;

}

}

核心代碼就是onTouchEvent方法了。代碼很簡單,無非就是記錄手指的上次坐標與下次坐標,然后將前后移動的增量傳遞給layout方法而已。

值得注意的是,onTouchEvent的返回值為true,表示我們要成功消化掉這個觸摸事件。

然后再修改activity_main.xml的代碼,將這個view裝到布局里,如下:

<LinearLayout xmlns:android="//schemas.android.com/apk/res/android"

xmlns:tools="//schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

>

<com.example.testdragview.DragView   <>

android:layout_width="100dp"

android:layout_height="100dp"

android:background="#FF0000" />

</LinearLayout>

上一篇:Android滑動效果(一)- Android坐標研究

下一篇:C語言初始化效率問題以及關鍵字解釋

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 成人精品国产区在线观看 | 亚洲涩涩| 国产成熟妇人高潮A片 | 亚洲欧美不卡视频在线播放 | 日韩好片一区二区在线看 | 欧美日韩精品视频一区二区 | 黄www在线观看 | 亚洲自偷自偷在线制服 | 久久久久久影视 | 网友自拍露脸国语对白 | 亚洲欧美不卡视频在线播放 | 中文字幕在线无码一区二区三区 | 人妻无码一区二区三区免费 | 在线欧美一区二区 | 久久精品AV无码夜色 | 色涩视频 | 国产精品民宅偷窥盗摄 | 亚洲成αv人片在线观看 | 精品人妻潮喷久久久又裸又黄 | 少妇高清性色生活片成人A片 | おじさんとわたし中文在线 | 婷婷精品国产亚洲AV麻豆不片 | japanese老熟妇乱子伦视频 | 午夜肉伦伦影院 | 日韩经典精品无码一区 | 欧美乱熟人妻色情影视 | 亚洲人成网站在小说 | 亚洲第一免费视频网站 | 中文字国产精久久无 | 日韩精品99久久久久中文字幕 | 日韩福利片午夜免费观着 | 日韩最新| 精品乱码卡1卡2卡3免费开放 | 超清纯白嫩大学生无码网站 | 亚洲成AV人片天堂网久久 | 成人精品视频一区二区 | 日本阿v片在线播放免费 | 国产亚洲三区 | 国产无遮挡18禁无码网站免费 | 国产成人精品999视频 | 国产成人欧美视频在线观看 |