您好,登錄后才能下訂單哦!
ViewPage滑動(dòng)加載大圖和點(diǎn)擊關(guān)注效果,viewpager滑動(dòng)頁(yè)面加載多張圖片效果,
和點(diǎn)擊關(guān)注按鈕時(shí)候的狀態(tài)變化效果。
本項(xiàng)目來(lái)源:https://github.com/SerhatSurguvec/Double-Tap-To-Like
大體實(shí)現(xiàn)代碼:ViewPagerAdapter里面主要實(shí)現(xiàn)。
//ViewPager
public class ViewPagerAdapter extends PagerAdapter {
// Declare Variables
Context context;
LayoutInflater inflater;
int[] p_w_picpaths;
public ViewPagerAdapter(Context context, int[] p_w_picpaths) {
this.context = context;
this.p_w_picpaths = p_w_picpaths;
}
@Override
public int getCount() {
return 5;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView p_w_picpathview;
final ImageView heartAnim;
final ImageView likeImg;
final TextView likeCount;
TextView whichOfThem;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container,
false);
// Locate the ImageView in viewpager_item.xml
p_w_picpathview = (ImageView) itemView.findViewById(R.id.p_w_picpath);
heartAnim = (ImageView) itemView.findViewById(R.id.heart_anim);
likeImg = (ImageView) itemView.findViewById(R.id.item_comment_like_img);
likeCount = (TextView) itemView.findViewById(R.id.item_comment_like_count);
whichOfThem = (TextView) itemView.findViewById(R.id.which);
whichOfThem.setText((position + 1) + "/" + 5);
p_w_picpathview.setImageResource(p_w_picpaths[position]);
final GestureDetector gd = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
Animation pulse_fade = AnimationUtils.loadAnimation(context, R.anim.pulse_fade_in);
pulse_fade.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
heartAnim.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationEnd(Animation animation) {
heartAnim.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
heartAnim.startAnimation(pulse_fade);
likeImg.setImageDrawable(context.getResources().getDrawable(R.drawable.like_active));
likeCount.setText("3 Likes");
return true;
}
@Override
public void onLongPress(MotionEvent e) {
super.onLongPress(e);
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
return true;
}
});
p_w_picpathview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return gd.onTouchEvent(event);
}
});
// Add viewpager_item.xml to ViewPager
(container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
}
ViewPage滑動(dòng)加載大圖和點(diǎn)擊關(guān)注效果
AVLoadingIndicatorView各種加載效果
MeiTuanRefreshListView高仿美團(tuán)下拉刷新
完整閱讀軟件客戶端app
LearnHut_android 學(xué)習(xí)客戶端源碼
AutoHomeRefreshListView仿汽車之家下拉刷新
PercentageBar自定義動(dòng)態(tài)柱形圖
Hide-Music-Player 一個(gè)完整的音樂(lè)播放器
FoldableLayout展開(kāi)效果
Progre***oundButton下載進(jìn)度按鈕變化動(dòng)畫
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。