當前位置:首頁 » 安卓系統 » android上下滑動效果

android上下滑動效果

發布時間: 2022-10-03 09:47:59

㈠ Android上這種布局和聯動的滑動效果是怎麼做到的

CoordinatorLayout+AppBar,desgin包里的。正確的做法就是自己處理滑動事件。建議先了解一下View的事件傳遞機制。這個問題我遇到過,寫了個viewgroup解決這個問題。scrollview裡面放viewpager,布局的時候手動設置viewpager的高度。viewpager的指示器做兩個,一個放scrollview裡面,一個放scrollview外面。
老版本的網易雲音樂 曾經用過這個效果。以前實現過這樣的效果。ViewPager頂部有一個Layout。下面ViewPager中的每個ListView有一個空白的Header當前頁面上下滑動的時候動態的根據Y值去改變頂部的Layout的Y值。當頁面左右滑動完成之後, 根據當前ListView的Y值.重新絲滑的改變頂部Layout的Y值。現在有個開源項目也能實現類似的效果。

㈡ Android 左右滑動+上下滑動 怎麼實現

http://blog.csdn.net/ztp800201/article/details/14123131
看看這個,有源碼

㈢ android RecyclerView四種滑動方式

我們使用recyclerview滑動最多的效果就是比如通訊錄右邊有字母,然後點擊某個字母,那個字母就顯示在最上面,這樣的效果主要當通訊錄裡面聯系人太多了,不好查找,還要用戶一個個去翻動,提高了效率.
這里說的四種是自己總結的,分別是:scrollBy(),scrollToPosition(),smoothScrollToPosition(),還有一個是LinearLayoutManager中的scrollToPositionWithOffset()

這個是每個View都有的方法,移動的是其內容,

這個是移動到可見范圍內,是瞬間完成的,給人感覺很生硬,比如:

表示第20個item條目在屏幕可見范圍內,但不是第20個條目在屏幕可見的最上面的.

和scrollToPosition() 效果是一樣的,只是不是瞬間完成的,我們看到方法前面有個smooth單詞就知道了,

這個才是真正定位到某個條目在屏幕可見范圍內.

㈣ android開發中,怎麼實現上下滑動,不是ScrollView,我要的是一次滑動整個頁面,跟橫向滑動效果一樣。。

直接用intent跳轉到下個頁面啊 判斷用戶有向上滑動的手勢 就跳轉 然後設置一個 跳轉的動畫效果就可以了..

㈤ android卡片上下切換特效

實現了在android實現左右滑動切換界面的效果 
 這是實現了在android實現左右滑動切換界面的效果,該效果的源碼下載,請到源碼天堂下載吧,喜歡的朋友可以研究一下。 
 布局文件  
 < xml version="1.0" encoding="utf-8" > <LinearLayout xmlns:android="; android:id="@+id/layContain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/bg" > <!-- android:background="#FFC0CB"--> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/layFirst" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" android:layout_marginBottom="50dp" > </LinearLayout> <LinearLayout android:id="@+id/laySec" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layThird" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layFourth" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="40dp" > <TextView android:id="@+id/roll_dot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#ffffff" /> <TextView android:id="@+id/roll_dot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/roll_dot3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/

㈥ 怎麼樣有滑動效果 android

android的滑動效果是通過View容器類ViewFlipper來實現的。

ViewFilpper是Android官方提供的一個View容器類,繼承於ViewAnimator類,用於實現頁面切換,也可以設定時間間隔,讓它自動播放。
又ViewAnimator繼承至於FrameLayout的,所以ViewFilpper的Layout裡面可以放置多個View,繼承關系如下:

1、activity的寫法如下:

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.GestureDetector;

importandroid.view.MotionEvent;

importandroid.view.ViewGroup.LayoutParams;

importandroid.view.animation.Animation;

importandroid.view.animation.AnimationUtils;

importandroid.widget.ImageView;

importandroid.widget.ViewFlipper;

.view.GestureDetector.OnGestureListener{

privateint[]imgs={R.drawable.img1,R.drawable.img2,

R.drawable.img3,R.drawable.img4,R.drawable.img5};

=null;

privateViewFlipperviewFlipper=null;

privateActivitymActivity=null;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mActivity=this;

viewFlipper=(ViewFlipper)findViewById(R.id.viewflipper);

gestureDetector=newGestureDetector(this);//聲明檢測手勢事件

for(inti=0;i<imgs.length;i++){//添加圖片源

ImageViewiv=newImageView(this);

iv.setImageResource(imgs[i]);

iv.setScaleType(ImageView.ScaleType.FIT_XY);

viewFlipper.addView(iv,newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

}

viewFlipper.setAutoStart(true);//設置自動播放功能(點擊事件,前自動播放)

viewFlipper.setFlipInterval(3000);

if(viewFlipper.isAutoStart()&&!viewFlipper.isFlipping()){

viewFlipper.startFlipping();

}

}

@Override

publicbooleanonTouchEvent(MotionEventevent){

viewFlipper.stopFlipping();//點擊事件後,停止自動播放

viewFlipper.setAutoStart(false);

returngestureDetector.onTouchEvent(event);//注冊手勢事件

}

@Override

publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){

if(e2.getX()-e1.getX()>120){//從左向右滑動(左進右出)

AnimationrInAnim=AnimationUtils.loadAnimation(mActivity,R.anim.push_right_in);//向右滑動左側進入的漸變效果(alpha0.1->1.0)

AnimationrOutAnim=AnimationUtils.loadAnimation(mActivity,R.anim.push_right_out);//向右滑動右側滑出的漸變效果(alpha1.0->0.1)

viewFlipper.setInAnimation(rInAnim);

viewFlipper.setOutAnimation(rOutAnim);

viewFlipper.showPrevious();

returntrue;

}elseif(e2.getX()-e1.getX()<-120){//從右向左滑動(右進左出)

AnimationlInAnim=AnimationUtils.loadAnimation(mActivity,R.anim.push_left_in);//向左滑動左側進入的漸變效果(alpha0.1->1.0)

AnimationlOutAnim=AnimationUtils.loadAnimation(mActivity,R.anim.push_left_out);//向左滑動右側滑出的漸變效果(alpha1.0->0.1)

viewFlipper.setInAnimation(lInAnim);

viewFlipper.setOutAnimation(lOutAnim);

viewFlipper.showNext();

returntrue;

}

returntrue;

}

@Override

publicbooleanonDown(MotionEvente){

returnfalse;

}

@Override

publicvoidonLongPress(MotionEvente){

}

@Override

publicbooleanonScroll(MotionEvente1,MotionEvente2,floatdistanceX,floatdistanceY){

returnfalse;

}

@Override

publicvoidonShowPress(MotionEvente){

}

@Override

publicbooleanonSingleTapUp(MotionEvente){

returnfalse;

}

}

2、main.xml配置文件:

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">

<ViewFlipper

android:id="@+id/viewflipper"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

</LinearLayout>

以上完成了手勢滑屏:

手勢滑動屏幕動畫,是通過android.view.GestureDetector類檢測各種手勢事件實現的,該類有兩個回調介面(Interface)

A、GestureDetector.OnDoubleTapListener,用來通知DoubleTap雙擊事件,類似於滑鼠的雙擊事件,介面三個抽象回調函數如下

1、onDoubleTap(MotionEvent e):DoubleTap雙擊手勢事件後通知(觸發)

2、onDoubleTapEvent(MotionEvent e):DoubleTap雙擊手勢事件之間通知(觸發),包含down、up和move事件(這里指的是在雙擊之間發生的事件,例如在同一個地方雙擊會產生DoubleTap手勢,而在DoubleTap手勢裡面還會發生down和up事件,這兩個事件由該函數通知)

3、onSingleTapConfirmed(MotionEvent e):用來判定該次點擊是SingleTap而不是DoubleTap,如果連續點擊兩次就是DoubleTap手勢;那麼如果只點擊一次,系統等待一段時間後沒有收到第二次點擊則判定該次點擊為SingleTap而不是DoubleTap,此時觸發的就是SingleTapConfirmed事件

㈦ Android 怎麼去實現模擬網頁上下滑動

可以這樣,布局的話可以最外層的是個framelayout,上面嵌一個horizontalScrollview,對於horizontalScrollview左邊是透明的和屏幕同樣大小的view,右邊是你要顯示的內容,對於horizontalScrollview要重寫滑動事件,如果僅僅這樣的話,那麼最底層的菜單是無法點擊的,所以要在activity中重寫DispatchTouchEvent重新分配分發事件。同樣也可以實現列表中的手勢,因為他的android的觸摸事件是按層分發,直到找到消耗這個事件的那一層,然後實現onInteceptTouchEvent截斷,交給該層的onTouch函數處理。

㈧ android實現上下滑動

布局最外包一層滾動條

java"><ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
強制橫豎屏
在配置文件中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)
熱點內容
共享文件夾加密軟體 發布:2025-01-20 13:08:41 瀏覽:40
標識符是怎樣存儲的 發布:2025-01-20 13:08:39 瀏覽:894
怎麼看安卓大屏什麼牌子 發布:2025-01-20 13:08:35 瀏覽:258
ios開發java 發布:2025-01-20 13:02:42 瀏覽:881
速騰有側燈的是哪個配置 發布:2025-01-20 13:01:53 瀏覽:371
社保用戶名和密碼都忘記了怎麼辦 發布:2025-01-20 12:55:55 瀏覽:321
最優存儲形式是什麼 發布:2025-01-20 12:51:32 瀏覽:27
centos編譯php7 發布:2025-01-20 12:33:52 瀏覽:920
android本地伺服器搭建伺服器 發布:2025-01-20 12:17:54 瀏覽:474
安卓兩個焊點怎麼接 發布:2025-01-20 12:15:15 瀏覽:936