我的应用程序工作正常,只有一个问题:当屏幕水平放置时,ScrollView不会填充父级。 xml的一部分是:
<HorizontalScrollView
android:id="@+id/hsvShowDay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff00ff00"
android:padding="5dp" >
<ScrollView
android:id="@+id/svShowDay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffff0000"
android:padding="5dp" >
<TableLayout
android:id="@+id/tlShowDay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="true" >
<TableRow
android:id="@+id/trEmptyRow" >
</TableRow>
</TableLayout>
</ScrollView>
</HorizontalScrollView>
我已经尝试过设置
android:fillViewport=true
以及在onCreate方法中重置布局参数,如下所示:
ScrollView svCalendar = (ScrollView)findViewById(R.id.svShowDay);
ScrollView.LayoutParams params = new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT,ScrollView.LayoutParams.MATCH_PARENT);
svCalendar.setLayoutParams(params);
谁能告诉我,我做错了什么?有什么我需要改变的吗?非常感谢你提前!
答案 0 :(得分:2)
尝试在HorizontalScrollView和ScrollView之间添加另一个布局。
Offtop:
答案 1 :(得分:1)
今天早上我尝试再次将android:fillViewport="true"
添加到ScrollView。它仍然无法正常工作,但由于两个答案都建议我添加它,我尝试将其添加到HorizontalScrollView,然后我的应用程序最终获得了我期望的功能。
简而言之,答案是将android:fillViewport="true"
添加到HorizontalScrollView。
PS:当我还将android:fillViewport="true"
添加到ScrollView时,TableLayout会在我的ScrollView中间居中。 (我的应用程序不需要这个,但有一天它可以帮助其他人。)
感谢两个答案让我朝着正确的方向前进!
答案 2 :(得分:0)
你忘记了
滚动视图的android:fillViewport =“true”
旁注
拥有两个嵌套的滚动视图容器是一个坏主意。可能是滚动/调整大小问题的原因。
我不确定滚动视图到水平滚动视图的目的是什么,但如果要实现水平和垂直滚动视图,最好使用"." "web"]
或ENTRYPOINT ["dnx", ".", "web"]
。