将ListView中的自定义布局设置为在android中不可滚动

时间:2015-08-21 05:17:35

标签: android listview scrollbar

我有ListView,其中包含自定义布局。

列表视图的每一行都如下所示:

enter image description here

该行包含2个LinearLayouts,一个用于Date,另一个用于Progress详细信息。进度详细信息布局包括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);

请帮助我。

3 个答案:

答案 0 :(得分:1)

你必须使用exapanding listview动画才能使用这个lib https://github.com/nhaarman/ListViewAnimations

答案 1 :(得分:0)

尝试使用LayoutParams并在监听器内以编程方式为您更改高度Button。

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)

答案 2 :(得分:0)

使用展开式List View,以便列表的常规视图包含您提供的图像,点击该视图后,它会展开以显示您想要显示的详细信息,方法是点击{{1}选项(在你的图片中)

这是一个啧啧link以获取更多信息。