如何向下滚动线性布局当线性布局在按钮上可见时单击[kotlin]

我在滚动视图中有一堆文本视图和编辑文本表单,并且在这个线性布局中的相同滚动视图内的表单下方也有一个线性布局,其中有一堆垂直的文本视图。当用户按下“添加更多信息”时,最初线性布局的可见性消失了,它就在这个线性布局的上方,按钮然后布局可见性是可见的。这按预期工作正常,但我想要的是当线性布局变得可见时,滚动视图应该向下滚动,以便用户可以看到扩展数据。我尝试了所有但没有什么可以帮助我。请帮我解决这个问题。下面是 ShowHideLayout 方法。需要帮忙


fun showHideLayout() {

    if (linearLayoutAddMoreInfoExpand.visibility == GONE) {


        linearLayoutAddMoreInfoExpand.visibility = VISIBLE

        mTextViewAddMoreInfo.setText("Close Add More Info")

        scrollView.post(Runnable {

        scrollView.fullScroll(ScrollView.FOCUS_DOWN)

            //scrollView.scrollTo(0,scrollView.bottom)

        })


       // scrollView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);

        scrollView.scrollTo(0,scrollView.bottom)

        //scrollView.smoothScrollBy(R.id.linearLayoutAddMoreInfoExpand,R.id.scrollBottom)


    } else if (linearLayoutAddMoreInfoExpand.visibility== VISIBLE) {


        linearLayoutAddMoreInfoExpand.visibility = GONE

        mTextViewAddMoreInfo.setText("+ Add More Info")

    }

}


婷婷同学_
浏览 111回答 1
1回答

慕慕森

您可以在 xml 文件中的 exapandLinearLayout 之前添加另一个滚动视图来解决此问题,并在单击按钮时调用此滚动视图,这样无论何时您的线性布局都会向下滚动。但这可能不是最佳实践。您的代码将如下所示<Scrollview&nbsp; &nbsp; &nbsp;android:id = @+id/scrollViewLayout&nbsp; &nbsp; &nbsp; &nbsp;.....&nbsp; &nbsp; &nbsp; &nbsp;....>&nbsp; &nbsp; <LinearLayout....><--Remaining view--></LinearLayout>&nbsp; &nbsp; &nbsp; &nbsp;</Scrollview>在 Java 中的 addmoreinfo 按钮上单击调用此滚动视图,如下所示:-&nbsp; &nbsp; fun showHideLayout() {&nbsp;if(linearLayoutAddMoreInfoExpand.visibility == GONE){&nbsp;linearLayoutAddMoreInfoExpand.visibility = VISIBLEmTextViewAddMoreInfo.setText("Close Add More Info")scrollViewLayout.post(Runnable { scrollView.fullScroll(ScrollView.FOCUS_DOWN)&nbsp; })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java