Horizo​​ntalScrollView有四个RelativeLayout,每个RelativeLayout占据整个屏幕

时间:2015-11-17 16:44:21

标签: android android-layout horizontalscrollview

我在Android上创建HorizontalScrollView时会遇到问题,这将作为教程。

此ScrollView包含一个水平方向的LinearLayout,里面有4个RelativeLayout,每个必须填满屏幕。

但如果我在每个RelativeLayout上设置layout_width = "match_parent",这根本不起作用,但它设置为"wrap_content"

ScrollView的layout_width设置为"wrap_content",而LinearLayout设置为"0dp",但更改此设置后我没有看到任何更改。

我该如何解决这个问题?感谢

3 个答案:

答案 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"