2015-08-21 93 views
0

我有一个ListView其中包含自定义布局。在ListView中设置自定义布局为非滚动在android

列表视图看起来像这样的每一行:

enter image description here

的行中包含2 LinearLayouts,一个日期,一个用于进度的详细信息。进度细节布局由2个TextViews(标题和下方的数据)和1个Button(查看更多)组成。

当用户点击'View More'按钮时,标题下面的数据将扩展为10-12行。

我的问题是当TextView扩展时,scrollbar出现在边缘,用户必须滚动才能阅读。行的宽度不变,即行不扩展。

我希望行宽展开,以便用户不必滚动以阅读文本。

我看过了很多,已经尝试下面的选项,但他们没有工作

1. android:scrollbar="none" 
2. View.setOverScrollMode(View.OVER_SCROLL_NEVER); 
3. View.setScrollContainer(false); 

请帮助我。

+0

你为什么不使用** Expandable Listview ** – Pankaj

回答

0

使用可扩展List View使得列表的普通视图将有你只要查看它将会展开,你想通过点击view more选项(在图像)

这里是一个啧啧link更多的展现图像细节和点击信息。

+0

你可以多加一点这个答案?有些东西可以帮助其他遇到这篇文章的人理想。 –

+0

感谢这个链接真的很有帮助 – Aradhna

+0

乐意提供帮助。请接受答案。 :) – bhakti123

1

你必须使用exapanding列表视图动画,您可以使用此lib目录来寻找 https://github.com/nhaarman/ListViewAnimations

+0

你能举个例子说明如何处理这个问题吗? – Aradhna

+0

该项目内已有示例https://play.google.com/store/apps/details?id=com.haarman.listviewanimations –

+0

它只显示结果,而不是代码示例如何使用它。 – Aradhna

0

尝试使用的LayoutParams和编程改变听众对你按钮内部的高度。

LayoutParams应该从包含LinearLayout的布局类型派生。例如如果它是一个RelativeLayout的,它看起来就像是:

int heightForRow = 100; 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
params.height = heightForRow; 
yourLinearLayout.setLayoutParams(params); 

请注意,您的LinearLayout随后必须在另一个布局(RelativeLayout的中的例子)

+0

该行的高度是动态的。我无法将其设置为固定值。 – Aradhna

+0

我明白了。也许有一种方法可以获得TextView想要通过getMeasuredHeight()方法获得的高度,并将此值设置为heightForRow?不知道它会工作,但也许你可以尝试。 希望它有帮助 – Kaixin

相关问题