我有一个ScrollView
,其中包含LinearLayout
的众多视图。我已经实现expand
和collapse
布局。来看OnClick
,其扩张或collapse.So当一个视图扩展,我想以编程方式移动ScrollView
这样的观点来对screen.See图像的顶部下方Android如何将scrollview子页面移动到页首
我想移动ScrollView
至红线所示的长度。 ScrollView
的child
包含TextView
(4:状态栏通知)和ImageView
。进一步的ScrollView
可以包含或不包含高于或低于TextView ImageView
组合的视图。我已经使用了CustomScrollView,我通过
public int newY=0;
@Override
protected void onScrollChanged(int X, int Y, int oldX, int oldY) {
super.onScrollChanged(X, Y, oldX, oldY);
this.newY=Y;
}
对于findout scroll Y
我用下面的逻辑
public void translateView(View view){
int[] xy =new int[2];
//view = ImageView
view.getLocationOnScreen(xy);
int scrollY = xy[1]+view.getBottom();
//screenHeight =ScreenHeight of the phone
if(scrollY>screenHeight){
//heading textView
textView.getLocationOnScreen(xy);
int diff = screenHeight-xy[1];
diff =Math.abs(diff);
int moveHeight = (int) (scrollView.newY+diff);
scrollView.smoothScrollTo(0, moveHeight);
}
}
所以基本上我所要做的是找到TextView
和减法y
位置之间的差异它与屏幕高度和滚动的ScrollView
那些差异,以便视图显示在上面。但它不工作。任何想法如何实现这一点。