解决进入该页面直接显示中的listview而不是从页面最顶端开始显示
在setAdapter后调用listview的smoothScrollTo(0,20);
解决listview只能显示一条 需要重写listview
public class MyListView extends ListView {
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public MyListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2
, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
viewpager显示不全问题
只能给viewpager设置固定的高度
android:layout_height="500dp"
Viewpager的左右滑动焦点问题及滑动到第二个页面上下无法滑动问题
重写Viewpager
public class SViewPager extends ViewPager {
private boolean canScroll;
public SViewPager(Context context) {
super(context);
canScroll = false;
}
public SViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
canScroll = false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (canScroll) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
e.printStackTrace();
return false;
}
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (canScroll) {
return super.onTouchEvent(event);
}
return false;
}
public void toggleLock() {
canScroll = !canScroll;
}
public void setCanScroll(boolean canScroll) {
this.canScroll = canScroll;
}
public boolean isCanScroll() {
return canScroll;
}
}
在设置adapter之后调用setCanScroll(true);方法