我在Android上创建HorizontalScrollView
时会遇到问题,这将作为教程。
此ScrollView包含一个水平方向的LinearLayout,里面有4个RelativeLayout,每个必须填满屏幕。
但如果我在每个RelativeLayout上设置layout_width = "match_parent"
,这根本不起作用,但它设置为"wrap_content"
ScrollView的layout_width
设置为"wrap_content"
,而LinearLayout设置为"0dp"
,但更改此设置后我没有看到任何更改。
我该如何解决这个问题?感谢
答案 0 :(得分:1)
您的RelativeLayout宽度似乎设置为父match_parent
的父线性广播的0dp
。
尝试给你的LinearLayout一些宽度
顺便说一下为什么必须使用HorizontalScrollView
,请改用ViewPager
。更多关于viewpager here
实施例
parent_layout.xml 中的
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
您可以在GitHub
找到有关代码的更多信息答案 1 :(得分:0)
int size = horizontalScrollView.getChildCount();
int screenW =getResources().getDisplayMetrics().widthPixels;
for(int i = 0 ;i <size ;i++){
View v = horizontalScrollView.getChildAt(i);
ViewGroup.LayoutParams lp = v.getLayoutParams();
lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
lp.width = screenW;
v.setLayoutParams(lp);
}
答案 2 :(得分:0)
当您使用滚动视图时,您应该使用修复dp中的相对布局的宽度,如300dp或200 dp,否则滚动视图将其宽度视为需要,如wrap_content
所以像这样使用layout_width = "200dp"