亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android中實現監聽ScrollView滑動事件

2020-04-11 11:34:06
字體:
來源:轉載
供稿:網友

時候我們需要監聽ScroView的滑動情況,比如滑動了多少距離,是否滑到布局的頂部或者底部??上У氖荢DK并沒有相應的方法,不過倒是提供了一個

復制代碼 代碼如下:

protected void onScrollChanged(int x, int y, int oldx, int oldy) 

方法,顯然這個方法是不能被外界調用的,因此就需要把它暴露出去,方便使用。解決方式就是寫一個接口,
復制代碼 代碼如下:

package com.example.demo1; 
 
public interface ScrollViewListener { 
 
    void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy); 
 

 然后重寫ScrollView類,給它提供上面寫的回調接口。

復制代碼 代碼如下:

package com.example.demo1; 
 
import android.content.Context; 
import android.util.AttributeSet; 
import android.widget.ScrollView; 
 
public class ObservableScrollView extends ScrollView { 
 
    private ScrollViewListener scrollViewListener = null; 
 
    public ObservableScrollView(Context context) { 
        super(context); 
    } 
 
    public ObservableScrollView(Context context, AttributeSet attrs, 
            int defStyle) { 
        super(context, attrs, defStyle); 
    } 
 
    public ObservableScrollView(Context context, AttributeSet attrs) { 
        super(context, attrs); 
    } 
 
    public void setScrollViewListener(ScrollViewListener scrollViewListener) { 
        this.scrollViewListener = scrollViewListener; 
    } 
 
    @Override 
    protected void onScrollChanged(int x, int y, int oldx, int oldy) { 
        super.onScrollChanged(x, y, oldx, oldy); 
        if (scrollViewListener != null) { 
            scrollViewListener.onScrollChanged(this, x, y, oldx, oldy); 
        } 
    } 
 

注意在xml布局的時候,不要寫錯了包。

復制代碼 代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 
 
    <com.example.demo1.ObservableScrollView 
        android:id="@+id/view1" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" > 
 
        <LinearLayout 
            android:layout_width="wrap_content" 
            android:layout_height="match_parent" 
            android:orientation="vertical" > 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試1" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試2" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試3" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試4" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試5" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試6" /> 
        </LinearLayout> 
    </com.example.demo1.ObservableScrollView> 
 
    <com.example.demo1.ObservableScrollView 
        android:id="@+id/view2" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" > 
 
        <LinearLayout 
            android:layout_width="wrap_content" 
            android:layout_height="match_parent" 
            android:orientation="vertical" > 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試1" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試2" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試3" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試4" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試5" /> 
 
            <TextView 
                android:layout_width="100dp" 
                android:layout_height="100dp" 
                android:text="試試6" /> 
        </LinearLayout> 
    </com.example.demo1.ObservableScrollView> 
 
</LinearLayout> 
 

  最后activity代碼如下,
復制代碼 代碼如下:

package com.example.demo1; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
 
public class MainActivity extends Activity implements ScrollViewListener { 
 
    private ObservableScrollView scrollView1 = null; 
    private ObservableScrollView scrollView2 = null; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
 
        scrollView1 = (ObservableScrollView) findViewById(R.id.view1); 
        scrollView1.setScrollViewListener(this); 
        scrollView2 = (ObservableScrollView) findViewById(R.id.view2); 
        scrollView2.setScrollViewListener(this); 
 
    } 
 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        // Inflate the menu; this adds items to the action bar if it is present. 
        getMenuInflater().inflate(R.menu.main, menu); 
        return true; 
    } 
 
    @Override 
    public void onScrollChanged(ObservableScrollView scrollView, int x, int y, 
            int oldx, int oldy) { 
        if (scrollView == scrollView1) { 
            scrollView2.scrollTo(x, y); 
        } else if (scrollView == scrollView2) { 
            scrollView1.scrollTo(x, y); 
        } 
    } 
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成在线免费观看| 欧美日韩国产丝袜另类| 欧美成人精品一区二区| 国产香蕉精品视频一区二区三区| 色综合天天综合网国产成人网| 日韩激情视频在线| 日韩av在线天堂网| 日韩欧美中文第一页| 深夜精品寂寞黄网站在线观看| 国产成人亚洲综合青青| 国产亚洲欧洲高清一区| 欧美性感美女h网站在线观看免费| 欧美午夜片欧美片在线观看| 久久中文字幕在线| 亚洲午夜久久久影院| 欧美精品久久一区二区| 国产精品99久久久久久www| 久久久免费高清电视剧观看| 欧美激情在线有限公司| 4k岛国日韩精品**专区| 91国产一区在线| 97在线观看视频| 国产精品av在线| 91深夜福利视频| 国产精品igao视频| 国产精品白丝jk喷水视频一区| 日韩va亚洲va欧洲va国产| 国产精品久久久久久久久久小说| 91精品视频网站| 欧美午夜电影在线| 美日韩精品免费观看视频| 国产91九色视频| 毛片精品免费在线观看| 91欧美精品午夜性色福利在线| 亚洲va电影大全| 成人www视频在线观看| 热门国产精品亚洲第一区在线| 久久成人国产精品| 日本午夜精品理论片a级appf发布| 亚洲无限av看| 成人精品在线视频| 久久久久久久久久久网站| 91成人在线观看国产| 亚洲免费影视第一页| 色悠悠久久88| 欧美乱妇高清无乱码| 精品久久国产精品| 日韩在线免费高清视频| 国产精品亚洲第一区| 亚洲网站视频福利| 色综合久久精品亚洲国产| 日韩精品在线观看一区| 国产ts一区二区| 久久影院资源站| 国产精品美女久久久久av超清| 久久99精品久久久久久琪琪| 亚洲已满18点击进入在线看片| 成人伊人精品色xxxx视频| 国产一区二区三区欧美| 亚洲欧美国产精品专区久久| 色综合天天综合网国产成人网| 自拍亚洲一区欧美另类| 91网站免费观看| 欧洲s码亚洲m码精品一区| 国产精品手机播放| 亚洲成人三级在线| 九九精品在线观看| 久久久久久久999| 欧美另类在线播放| 91探花福利精品国产自产在线| 精品久久久国产精品999| 日韩av第一页| 亚洲最新av在线网站| 亚洲欧美日韩天堂一区二区| 日韩av电影免费观看高清| 欧洲亚洲免费在线| 午夜伦理精品一区| 国产日韩精品在线观看| 欧美一级在线播放| 欧美人在线视频| 久久国产精品久久久久| 一区二区三区天堂av| 亚洲国产精品久久久久| 国产日韩精品一区二区| 91国产一区在线| 欧美性猛交xxxx久久久| 米奇精品一区二区三区在线观看| 777精品视频| 日韩性生活视频| 国产精品美女久久久久久免费| 日韩av免费看网站| 日韩美女在线观看一区| 午夜精品一区二区三区av| 91久久精品美女| 日韩av网站大全| 亚洲自拍偷拍色图| 久久色在线播放| 欧美巨乳在线观看| 欧美激情喷水视频| 欧美黄色片免费观看| 成人网中文字幕| 美女视频黄免费的亚洲男人天堂| 992tv在线成人免费观看| 欧美激情精品久久久久久免费印度| 国语自产精品视频在线看一大j8| 欧美日韩国产区| 91最新在线免费观看| 91精品在线影院| 在线成人一区二区| 久久久这里只有精品视频| 亚洲欧美中文另类| 欧美性视频精品| 日韩亚洲第一页| 欧美又大又硬又粗bbbbb| 欧美视频专区一二在线观看| 国产脚交av在线一区二区| 中文字幕亚洲国产| 亚洲电影中文字幕| 欧美日韩国产激情| 91精品国产高清久久久久久久久| 91丝袜美腿美女视频网站| 中文字幕日韩在线播放| 国产午夜精品久久久| 日韩a**站在线观看| 国产精品美乳一区二区免费| 91国偷自产一区二区三区的观看方式| 久久久久九九九九| 成人啪啪免费看| 亚洲天堂网在线观看| 5252色成人免费视频| 亚洲a一级视频| 亚洲午夜未删减在线观看| 色妞欧美日韩在线| 日韩精品免费综合视频在线播放| 成人综合网网址| 色琪琪综合男人的天堂aⅴ视频| 欧美成人激情在线| 日韩精品免费在线观看| 欧美激情一二三| 亚洲精品电影久久久| 国产精品一区二区久久久久| 亚洲视频一区二区三区| 中文字幕在线观看亚洲| 中日韩美女免费视频网址在线观看| 国产精品国语对白| 亚洲精品97久久| 亚洲欧美日韩精品久久奇米色影视| 久久色在线播放| 国模精品系列视频| 欧美成人免费在线观看| 亚洲精品理论电影| 久久青草精品视频免费观看| 9.1国产丝袜在线观看| 亚洲香蕉伊综合在人在线视看| 欧美巨猛xxxx猛交黑人97人| 亚洲国产精品电影| 日韩精品久久久久久久玫瑰园| 久久av资源网站| 国产一区二区三区日韩欧美| 欧美性猛交xxxx富婆弯腰| 亚洲欧美日韩国产成人| 亚洲跨种族黑人xxx| 乱亲女秽乱长久久久| 国产v综合v亚洲欧美久久|