ListFragment始终使用match_parent / fill_parent

时间:2011-05-12 14:26:42

标签: android android-fragments

有没有人在ListFragment上有一个解决方案总是强迫自己使用match_parent而不是wrap_content,我将它放在LinearLayout上并使用wrap_content并使用类似

的内容
getView().setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,70));
ListFragment上的

甚至在行xml上设置强制宽度,但它仍然使用match_parent。 即使我在xml上使用片段或动态添加listfragment,它似乎仍然强制自己为match_parent。

任何帮助都会很棒。感谢

2 个答案:

答案 0 :(得分:0)

您可以为ListView的宽度和高度设置明确的大小,也可以拥有match_parentwrap_content对于ListView没有任何意义,特别是因为列表中的项目类型可以更改 - 因此如果列表是最宽的可见项目的宽度,则列表可能是200像素宽,但是如果向下滚动,最宽的项目可能是300像素宽,这将导致ListView的宽度发生变化。

答案 1 :(得分:0)

正如我在上面的评论中提到的,我遇到了类似的问题。我设法解决了我的问题;也许它也会帮助你。

在我的活动中,我正在创建像这样的片段:

DepartmentsFragment dFragment = new DepartmentsFragment();
dFragment.setArguments(getIntent().getExtras());
dFragment.setRetainInstance(true);
getSupportFragmentManager().beginTransaction().add(
        android.R.id.content, dFragment).commit();

我将第四行更改为:

getSupportFragmentManager().beginTransaction().add(
        R.id.list, dFragment).commit();

反映我希望我的片段替换的视图的ID,并且它开始按照需要工作。 android.R.id.content告诉它适合整个屏幕。

希望这有帮助!