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

HorizontalScrollView with four RelativeLayout, each of which occupies the entire screen

我在 Android 上创建将用作教程的 HorizontalScrollView 时遇到问题。

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

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

ScrollView的layout_width设置为"wrap_content",LinearLayout设置为"0dp",但是改这个我没看到有什么变化。

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

您的 RelativeLayout 宽度似乎设置为父 LinearLayout 的 match_parent,即 0dp

试着给你的 LinearLayout 一些宽度

对了为什么要用HorizontalScrollView,用ViewPagerinstead.More关于viewpagerhere

例子

在你的parent_layout.xml

   <android.support.v4.view.ViewPager
     android:id="@+id/viewpager"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent" />

您可以在 GitHub

找到更多关于代码的信息
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);
}

当您使用滚动视图时,您应该在固定 dp 中使用相对布局的宽度,例如 300dp 或 200dp,否则滚动视图会根据需要使用其宽度,例如 wrap_content

所以这样使用layout_width = "200dp"