在 android 中将 ListView 中的自定义布局设置为 non-scrollable
Set Custom layout inside ListView as non-scrollable in android
我有一个包含自定义布局的 ListView
。
列表视图的每一行如下所示:
该行包含 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);
请帮我解决这个问题。
您必须为此使用扩展列表视图动画,您可以为此使用此库
https://github.com/nhaarman/ListViewAnimations
尝试使用 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)
使用可展开的 List View
,这样您的列表的普通视图将具有您提供的图像,并且在单击该视图时它将展开以显示您想要显示的详细信息,方法是单击 view more
选项(在你的图片中)
这里有一个图 link 以了解更多信息。
我有一个包含自定义布局的 ListView
。
列表视图的每一行如下所示:
该行包含 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);
请帮我解决这个问题。
您必须为此使用扩展列表视图动画,您可以为此使用此库 https://github.com/nhaarman/ListViewAnimations
尝试使用 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)
使用可展开的 List View
,这样您的列表的普通视图将具有您提供的图像,并且在单击该视图时它将展开以显示您想要显示的详细信息,方法是单击 view more
选项(在你的图片中)
这里有一个图 link 以了解更多信息。