6

我有一个带有 ScrollView 的片段。当有更多内容要显示时,我想向用户显示一些内容(箭头?),让他们知道他们可以滚动查看更多内容。

有没有办法做到这一点?

4

4 回答 4

6

您可以让您的滚动视图的滚动条一直可见,而不是仅在用户尝试向下/向上滚动时。

您可以通过添加android:fadeScrollbars="false"到您的 ScrollView XML 的定义中来做到这一点

于 2013-10-08T09:18:49.633 回答
3

据我所知,没有开箱即用的实现。您可以只将您的ScrollView内部设置为RelativeLayout,并更改ImageView位于顶部的(您的箭头)的可见性ScrollView,具体取决于滚动条是否滚动到底部。

于 2013-10-08T09:16:46.680 回答
2

前段时间我和你有类似的需求。我想要的是,当显示活动时,会自动从下到上滚动,以便用户可以看到有更多可用的项目。我这样做的方法是使用 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);

    }

我希望它对某人有帮助;)

于 2013-10-08T10:25:27.493 回答
2

尝试这个 :

@Override
public void onWindowFocusChanged (boolean hasFocus)
{
    if(child_of_scrollView.getMeasuredHeight() > oScrollView.getMeasuredHeight())
        //Show some arrow image or something you like to show
}
于 2013-10-08T09:16:07.747 回答