Android使用Handler實現(xiàn)View彈性滑動
彈性滑動原理
將一次大的滑動非為若干次小的滑動,并在一個時間段內(nèi)完成。更好的用戶體驗
實現(xiàn)方式很多種,包括用Scroller,動畫,延時策略.
使用Handler實現(xiàn)彈性滑動
效果可以看到按鈕Button向滑動。注意這里是將View的內(nèi)容改變。
你可以試一試將Button外層的RelitiveLayout去掉,把id放在Button下。發(fā)現(xiàn)是Button的文字滑動
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="300dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="Button" /> </RelativeLayout> </RelativeLayout> import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.RelativeLayout; public class MainActivity extends Activity { private static final int MESSAGE_SCROLL_TO = 1; private static final int FRAME_OUT = 30; private static final int DELAYED_TIME = 30; private RelativeLayout button; private int mcount; private Handler handler = new Handler(){ public void handleMessage(Message msg){ switch (msg.what) { case MESSAGE_SCROLL_TO: mcount++; if (mcount <= FRAME_OUT) { float fraction = mcount / (float)FRAME_OUT; int scrollx =(int) (fraction * 100); button.scrollTo(scrollx, 0); handler.sendEmptyMessageDelayed(MESSAGE_SCROLL_TO, DELAYED_TIME); } break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (RelativeLayout) findViewById(R.id.button1); handler.sendEmptyMessageDelayed(MESSAGE_SCROLL_TO, DELAYED_TIME); } }
以上所述是小編給大家介紹的Android使用Handler實現(xiàn)View彈性滑動,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- android開發(fā)通過Scroller實現(xiàn)過渡滑動效果操作示例
- Android使用Scroller實現(xiàn)彈性滑動效果
- Android自定義View彈性滑動Scroller詳解
- Android用Scroller實現(xiàn)一個可向上滑動的底部導航欄
- 詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動功能運用
- Android Scroll實現(xiàn)彈性滑動_列表下拉彈性滑動的示例代碼
- Android自定義ViewGroup實現(xiàn)彈性滑動效果
- android自定義ViewPager水平滑動彈性效果
- Android?Scroller實現(xiàn)彈性滑動效果
相關(guān)文章
Android 用Time和Calendar獲取系統(tǒng)當前時間源碼分享(年月日時分秒周幾)
這篇文章主要介紹了Android 用Time和Calendar獲取系統(tǒng)當前時間源碼分享,包括年月日時分秒周幾的源碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01android?ViewPager實現(xiàn)一個無限輪播圖
大家好,本篇文章主要講的是android?ViewPager實現(xiàn)一個無限輪播圖,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02Material Design系列之Behavior實現(xiàn)Android知乎首頁
這篇文章主要為大家詳細介紹了Material Design系列之Behavior實現(xiàn)Android知乎首頁的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09Android程序開發(fā)之ListView實現(xiàn)橫向滾動(帶表頭與固定列)
這篇文章主要介紹了Android程序開發(fā)之ListView實現(xiàn)橫向滾動(帶表頭與固定列)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07Android音視頻之視頻采集(系統(tǒng)API預覽)
這篇文章主要為大家詳細介紹了Android音視頻之視頻采集,系統(tǒng)API預覽,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12Android開發(fā)之a(chǎn)ctivity的生命周期詳解
這篇文章主要介紹了Android開發(fā)之a(chǎn)ctivity的生命周期,詳細分析了activity的運行原理與生命周期,需要的朋友可以參考下2016-06-06Android隱藏和沉浸式虛擬按鍵NavigationBar的實現(xiàn)方法
今天小編就為大家分享一篇Android隱藏和沉浸式虛擬按鍵NavigationBar的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07