Android實現(xiàn)翻頁特效
本文實例為大家分享了Android實現(xiàn)翻頁特效的具體代碼,供大家參考,具體內(nèi)容如下
android-flip是一個能夠輕松幫你實現(xiàn)水平以及豎直翻頁特效的庫,但是在判斷翻頁的時候有bug,我們需要在FlipCards.java中找到這一段:
if (Math.abs(getPageIndexFromAngle(accumulatedAngle + angleDelta) - lastPageIndex) <= 1) { ? ? ? accumulatedAngle += angleDelta; ? ? ? ? ? ?}
將它更改為:
if(((accumulatedAngle + angleDelta > lastPageIndex*180) ? ? ?&& (accumulatedAngle + angleDelta <= (lastPageIndex+1) * 180)) || ? ? ? ? ((accumulatedAngle + angleDelta < lastPageIndex*180) &&? ? ? ? ? ? ? ? ? ? ? (accumulatedAngle + angleDelta >= (lastPageIndex-1) * 180))){ ? ? ? ? ? ? ? accumulatedAngle += angleDelta; ? ? ? ? ? ? }
而在翻頁的時候會有閃爍現(xiàn)象產(chǎn)生,為了減輕現(xiàn)象的發(fā)生,我們需要修改另外一個地方,在FlipViewController.java中找到這一段:
void postHideFlipAnimation() { ? ? ? if (inFlipAnimation) { ? ? ? ? handler.post(new Runnable() { ? ? ? ? ? @Override ? ? ? ? ? public void run() { ? ? ? ? ? ? hideFlipAnimation(); ? ? ? ? ? } ? ? ? ? }); ? ? ? } ? ? }
修改為:
void postHideFlipAnimation() { ? ? ? if (inFlipAnimation) { ? ? ? ? handler.postDelayed(new Runnable() { ? ? ? ? ? @Override ? ? ? ? ? public void run() { ? ? ? ? ? ? hideFlipAnimation(); ? ? ? ? ? } ? ? ? ? }, 200); ? ? ? } ? ? }
然后我們就可以輕松地用它來為我們的app添加翻頁特效,在Activity中添加代碼:
package com.nekocode.xuedao; ? import android.os.Bundle; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.aphidmobile.flip.FlipViewController; import com.nekocode.xuedao.adapter.SubscribeIndexAdapter; ? public class SubsecribeIndexActivity extends SherlockFragmentActivity { ?? ?private PublicData pd; ?? ?private FlipViewController mFlipView; ?? ? ?? ?@Override ?? ?public void onCreate(Bundle savedInstanceState) { ?? ??? ?super.onCreate(savedInstanceState); ?? ??? ?pd = PublicData.getInstance(); ?? ??? ? ?? ??? ?mFlipView = new FlipViewController(this, FlipViewController.HORIZONTAL); ?? ??? ?mFlipView.setAdapter(new SubscribeIndexAdapter(this)); ?? ??? ? ?? ??? ?setContentView(mFlipView); ?? ?} ? ?? ?@Override ?? ?protected void onResume() { ?? ??? ?super.onResume(); ?? ??? ?mFlipView.onResume(); ?? ?} ? ?? ?@Override ?? ?protected void onPause() { ?? ??? ?super.onPause(); ?? ??? ?mFlipView.onPause(); ?? ?} }
創(chuàng)建FlipAdapter:
package com.nekocode.xuedao.adapter; ? import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; ? import com.aphidmobile.utils.UI; import com.nekocode.xuedao.R; ? public class SubscribeIndexAdapter extends BaseAdapter { ? private LayoutInflater inflater; ? ? public SubscribeIndexAdapter(Context context) { ? ? inflater = LayoutInflater.from(context); ? } ? ? @Override ? public int getCount() { ? ? return 5; ? } ? ? @Override ? public Object getItem(int position) { ? ? return position; ? } ? ? @Override ? public long getItemId(int position) { ? ? return position; ? } ? ? @Override ? public View getView(int position, View convertView, ViewGroup parent) { ? ? View layout = convertView; ? ? if (convertView == null) { ? ? ? layout = inflater.inflate(R.layout.item_subscribe_index, null); ? ? } ? ? ? UI ? ? ? ? .<TextView>findViewById(layout, R.id.textView7) ? ? ? ? .setText("今日熱點" + position); ? ? ? return layout; ? } }
layout文件并沒有什么重要信息所以不放出代碼了,效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android中圖片翻頁效果簡單的實現(xiàn)方法
- 解析Android中實現(xiàn)滑動翻頁之ViewFlipper的使用詳解
- Android實現(xiàn)閱讀APP平移翻頁效果
- Android自定義左右或上下滑動翻頁效果
- Android自定義ViewPager實現(xiàn)縱向滑動翻頁效果
- Android?ViewPager實現(xiàn)左右滑動翻頁效果
- android ViewPager實現(xiàn)滑動翻頁效果實例代碼
- 基于Android實現(xiàn)3D翻頁效果
- Android 仿日歷翻頁、仿htc時鐘翻頁、數(shù)字翻頁切換效果
- Android CardView+ViewPager實現(xiàn)ViewPager翻頁動畫的方法
相關(guān)文章
Android Fragment(動態(tài),靜態(tài))碎片詳解及總結(jié)
這篇文章主要介紹了Android Fragment詳解及總結(jié)的相關(guān)資料,這里對Android Fragment 動態(tài),靜態(tài)碎片進(jìn)行了整理總結(jié),需要的朋友可以參考下2016-12-12RecyclerView+PagerSnapHelper實現(xiàn)抖音首頁翻頁的Viewpager效果
這篇文章主要為大家詳細(xì)介紹了RecyclerView+PagerSnapHelper實現(xiàn)抖音首頁翻頁的Viewpager效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10Android利用WindowManager實現(xiàn)懸浮窗
這篇文章主要為大家詳細(xì)介紹了Android利用WindowManager實現(xiàn)懸浮窗效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07android通過gps獲取定位的位置數(shù)據(jù)和gps經(jīng)緯度
這篇文章主要介紹了android通過gps獲取定位的位置數(shù)據(jù)示例,大家參考使用吧2014-01-01Android變形(Transform)之Camera使用介紹
Camera主要實現(xiàn)3D的變形,有轉(zhuǎn)動,旋轉(zhuǎn)等,Camera的源碼是由Native(本地代碼)實現(xiàn),提供的接口也比較簡單,感興趣的朋友可以參考下,或許對你學(xué)習(xí)有所幫助2013-02-02Android利用碎片fragment實現(xiàn)底部標(biāo)題欄(Github模板開源)
Fragment可以作為Activity的組成部分,一個Activity可以有多個Fragment,這篇文章主要介紹了Android利用碎片fragment實現(xiàn)底部標(biāo)題欄(Github模板開源),需要的朋友可以參考下2019-12-12