我有一个带有 ScrollView 的片段。当有更多内容要显示时,我想向用户显示一些内容(箭头?),让他们知道他们可以滚动查看更多内容。
有没有办法做到这一点?
我有一个带有 ScrollView 的片段。当有更多内容要显示时,我想向用户显示一些内容(箭头?),让他们知道他们可以滚动查看更多内容。
有没有办法做到这一点?
您可以让您的滚动视图的滚动条一直可见,而不是仅在用户尝试向下/向上滚动时。
您可以通过添加android:fadeScrollbars="false"
到您的 ScrollView XML 的定义中来做到这一点
据我所知,没有开箱即用的实现。您可以只将您的ScrollView
内部设置为RelativeLayout
,并更改ImageView
位于顶部的(您的箭头)的可见性ScrollView
,具体取决于滚动条是否滚动到底部。
前段时间我和你有类似的需求。我想要的是,当显示活动时,会自动从下到上滚动,以便用户可以看到有更多可用的项目。我这样做的方法是使用 ViewTreeObserver。下面是我如何获得它的示例。
private ScrollView mScroll;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
mScroll = (ScrollView) findViewById(R.id.scroll_view);
ViewTreeObserver vto = mScroll.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mScroll.getViewTreeObserver().removeGlobalOnLayoutListener(this);
int scrollHeight = mScroll.getChildAt(0).getMeasuredHeight();
mScroll.scrollTo(0, scrollHeight);
}
});
}
@Override
protected void onResume() {
super.onResume();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mScroll.smoothScrollTo(0, 0);
}
}, 800);
}
我希望它对某人有帮助;)
尝试这个 :
@Override
public void onWindowFocusChanged (boolean hasFocus)
{
if(child_of_scrollView.getMeasuredHeight() > oScrollView.getMeasuredHeight())
//Show some arrow image or something you like to show
}