Java 如何在单击按钮[kotlin]时显示linearLayout时向下滚动线性布局
我在一个滚动视图中有一组文本视图和编辑文本表单,在同一个滚动视图中的表单下方也有一个线性布局,在这个线性布局中有一组垂直文本视图。最初,当用户按下“添加更多信息”按钮时,线性布局的可见性消失,该按钮位于该线性布局的正上方,然后布局可见性可见。这是工作正常,如预期,但我想要的是,当线性布局变得可见,然后滚动视图应该向下滚动,以便用户可以看到扩展数据。我尝试了所有的方法,但没有任何方法可以帮助我。 请帮我解决这个问题。下面是ShowHideLayout方法。 需要帮助吗Java 如何在单击按钮[kotlin]时显示linearLayout时向下滚动线性布局,java,android,kotlin,scrollview,android-linearlayout,Java,Android,Kotlin,Scrollview,Android Linearlayout,我在一个滚动视图中有一组文本视图和编辑文本表单,在同一个滚动视图中的表单下方也有一个线性布局,在这个线性布局中有一组垂直文本视图。最初,当用户按下“添加更多信息”按钮时,线性布局的可见性消失,该按钮位于该线性布局的正上方,然后布局可见性可见。这是工作正常,如预期,但我想要的是,当线性布局变得可见,然后滚动视图应该向下滚动,以便用户可以看到扩展数据。我尝试了所有的方法,但没有任何方法可以帮助我。 请帮我解决这个问题。下面是ShowHideLayout方法。 需要帮助吗 fun showHideLa
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")
}
}
您可以在xml文件中的ExampleLinearLayout之前添加另一个scrollview来解决此问题,并在单击按钮时调用此scrollview,以便在线性布局出现时向下滚动。但这可能不是最佳做法。 您的代码如下所示
<Scrollview
android:id = @+id/scrollViewLayout
.....
....>
<LinearLayout....>
<--Remaining view-->
</LinearLayout>
</Scrollview>
fun showHideLayout() {
if(linearLayoutAddMoreInfoExpand.visibility == GONE){
linearLayoutAddMoreInfoExpand.visibility = VISIBLE
mTextViewAddMoreInfo.setText("Close Add More Info")
scrollViewLayout.post(Runnable { scrollView.fullScroll(ScrollView.FOCUS_DOWN) })