我正在尝试将Fragment添加到ScrollView,但我找不到一种方法来指定有效的布局参数。
像这样创建片段:
FragmentManager supportFragmentManager = getActivity().getSupportFragmentManager();
SomeFragment fragment = new SomeFragment();
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.scrollView, fragment).commit();
这是scrollView:
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="25dp"
android:scrollbars="none"
android:background="#0000FF">
片段布局如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="25dp">
</RelativeLayout>
但它显示不正确。蓝色是scrollView的背景,但Fragment和scrollView的内容的高度设置为25dp。
我怎么能解决这个问题所以Fragment使用了scrollView的所有25dp(我可以测量它没有)?
我尝试过在多个地方使用类似的代码:
ScrollView.LayoutParams params = new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT, ScrollView.LayoutParams.MATCH_PARENT);
fragment.getView().setLayoutParams(params);
答案 0 :(得分:0)
我通过在RelativeLayout中将子视图高度之一从Match_Parent更改为25dp来修复它。斯坦格,但它的工作原理。
似乎,当像这样添加片段时,它是Wrap_Content的默认布局参数(我仍然想知道是否有办法改变它)。