編輯:關於Android編程
package com.zhulin.android.atools;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Interpolator;
import android.widget.Scroller;
import android.widget.Toast;
public class VerticalPager extends ViewGroup{
private Scroller mScroller;
private Context mContext;
public VerticalPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.mContext=context;
mScroller=new Scroller(context);
// mScroller=new Scroller(mContext, new Interpolator() {
//
// @Override
// public float getInterpolation(float input) {
// return 300;
// }
// });
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
int totalHeight=0;
int count=getChildCount();
for(int i=0;i(getHeight()*(getChildCount()-1))){
View lastView=getChildAt(getChildCount()-1);
mScroller.startScroll(0,lastView.getTop()+300, 0, -300);
}else{
int position=getScrollY()/getHeight();
int mod=getScrollY()%getHeight();
if(mod>getHeight()/3){
View positionView=getChildAt(position+1);
mScroller.startScroll(0, positionView.getTop()-300, 0, +300);
}else{
View positionView=getChildAt(position);
mScroller.startScroll(0, positionView.getTop()+300, 0, -300);
}
}
invalidate();
break;
// case MotionEvent.ACTION_MASK:
// if(getScrollY()<0){
// mScroller.startScroll(0, 0, 0, 0);
// }else if(getScrollY()>(getHeight()*(getChildCount()-1)){
// }
// invalidate();
// break;
}
return true;
}
@Override
public void computeScroll() {
super.computeScroll();
if(mScroller.computeScrollOffset()){
scrollTo(0, mScroller.getCurrY());
}else{
}
}
}
xml布局
android ViewSwitcher的用法介紹
ViewSwitcher 的作用簡單來說就是:在兩個視圖間轉換時顯示動畫它的兩個子類應該很熟悉,ImageSwitcher:轉換圖片時增加動畫效果;TextSwitche
android:descendantFocusability方法介紹
此方法適用於所有母控件無法獲取焦點的情況 開發中很常見的一個問題,項目中的listview不僅僅是簡單的文字,常常需要自己定義listview,自己的Adapter去繼承
Android 五大布局方式詳解
Android中常用的5大布局方式有以下幾種:線性布局(LinearLayout):按照垂直或者水平方向布局的組件。幀布局(FrameLayout):組件從屏幕左上方布局
Android 日期和時間的使用實例詳解
Android 日期和時間的使用日期和時間的使用;1:彈出框TimePickerDialog,DatePickerDialog2:組件TimePicker,DatePic