HorizontalScrollView 有四个 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
,用ViewPager
instead.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"
我在 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
,用ViewPager
instead.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"