我在滚动视图中有一堆文本视图和编辑文本表单,并且在这个线性布局中的相同滚动视图内的表单下方也有一个线性布局,其中有一堆垂直的文本视图。当用户按下“添加更多信息”时,最初线性布局的可见性消失了,它就在这个线性布局的上方,按钮然后布局可见性是可见的。这按预期工作正常,但我想要的是当线性布局变得可见时,滚动视图应该向下滚动,以便用户可以看到扩展数据。我尝试了所有但没有什么可以帮助我。请帮我解决这个问题。下面是 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") }}
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
您可以在 xml 文件中的 exapandLinearLayout 之前添加另一个滚动视图来解决此问题,并在单击按钮时调用此滚动视图,这样无论何时您的线性布局都会向下滚动。但这可能不是最佳实践。您的代码将如下所示
<Scrollview
android:id = @+id/scrollViewLayout
.....
....>
<LinearLayout....>
<--Remaining view-->
</LinearLayout>
</Scrollview>
在 Java 中的 addmoreinfo 按钮上单击调用此滚动视图,如下所示:-
fun showHideLayout() {
if(linearLayoutAddMoreInfoExpand.visibility == GONE){
linearLayoutAddMoreInfoExpand.visibility = VISIBLE
mTextViewAddMoreInfo.setText("Close Add More Info")
scrollViewLayout.post(Runnable { scrollView.fullScroll(ScrollView.FOCUS_DOWN) })
添加回答
举报
0/150
提交
取消